Java标准类库

实验名称 Java标准类库 日期 2020年 06 月17 日
一、实验目的:
1、学会字符串String、StringBuffer类的使用方法。
2、学会简单正则表达式的使用方法。
3、学会使用数据类型包装器进行数据类型转换。
4、学会System类和Runtime类的使用方法。
5、学会日期和日历类的使用方法。
6、理解并掌握常用集合类的使用方法。

二、实验环境:

PC+Windows10+Eclipse

三、实验内容:
(写出主要的内容)
1.将一个字符串中的小写字母变成大写字母,并将大写字母变成小写字母。
代码:

package shiyan4;
import java.util.Scanner;
public class Change {
	public static char[] change(String str) {	
	char [] c=str.toCharArray();
		for(int i=0;i<c.length;i++) {
			if(c[i]>=97&&c[i]<=122) {
				c[i]=(char)(c[i]-32);
			}
			else if(c[i]>=65&&c[i]<=90) {
				c[i]=(char)(c[i]+32);
			}
			else
				continue;
}
		return c;
}
public static void main(String[] args) {
			System.out.print("请输入任意字符串:");
			Scanner scanner=new Scanner(System.in);
			String str=scanner.next();
			scanner.close();
			if(str.equals("end")) {
				System.exit(0);
			}
			else {
				char [] c=change(str);
				String st=new String(c);
				System.out.println("输出结果为;"+st);
			}	
		}
}

2.找出两个字符串中所有共同的字符。
代码:

package shiyan4;
import java.util.ArrayList;
import java.util.Scanner;
public class Similar {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		System.out.print("请输入一个字符串:");
		String s1=scanner.next();
		System.out.print("请输入另一个字符串:");
		String s2=scanner.next();
		char []c1=s1.toCharArray();
		char []c2=s2.toCharArray();
		ArrayList lis=new ArrayList();
		for(int i=0;i<c1.length;i++)
			for(int j=0;j<c2.length;j++)//s1与s2每一个字母比较,相同则放进list里面
				if(c1[i]==c2[j])
					lis.add(c1[i]);
		for(int i=0;i<lis.size();i++)
			for(int j=0;j<lis.size();j++)
				if(lis.get(i)==lis.get(j))
					lis.remove(lis.get(j));
		System.out.print("相同的字符串:");
		for(int i=0;i<lis.size();i++)
			System.out.print(lis.get(i));
	}
}

3.定义一个正则表达式识别字符串的邮件地址。
代码:

package shiyan4;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Postcode {
	public static void main(String[] args) {
		String fileContent="张三的邮箱是:1234@qq.com 1212  李四的邮箱:sina@sina.com 王五的邮箱:hell@163.com";
		//用Pattern编译一个表达式
		Pattern p=Pattern.compile("[a-zA-Z0-9_]{1,20}@[a-zA-Z0-9]{2,10}[.](com|cn|org)");
		//通过Pattern对象得到一个Matcher对象
		Matcher m=p.matcher(fileContent);
		//搜索符合正则表达式的子串 调用Matcher的find方法 如果找到了匹配的子串,返回真
		while(m.find()){
		//取出匹配的子串用group()方法
			System.out.print("抓取的邮箱使用group方法:"+m.group()+"  ");
			System.out.println("抓取的邮箱使用start end方法:"+fileContent.substring(m.start(), m.end()));
		}
	}
}

4.编写一个程序,用Map实现学生成绩单的存储和查询,并且对成绩进行排序后存储到TreeSet中,求出平均成绩、最大值和最小值。
代码:

package shiyan4;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.Iterator;

import java.util.HashMap;
public class Test{
	@SuppressWarnings("unchecked")
	public static void main(String[] args) {
		int sum=0,each;
		HashMap<String,Integer> hm=new HashMap<String,Integer>();
		hm.put("小明", 60);
		hm.put("小张", 16);
		hm.put("小红", 34);
		hm.put("小绿", 97);
		hm.put("小紫", 78);
		hm.put("小王八蛋", 37);
		hm.put("隔壁老王",67);
		Set set2=hm.keySet();
		System.out.println("排序后:");
		TreeSet<Integer> ts=new TreeSet<Integer>();
		Set<Map.Entry<String,Integer>> set=hm.entrySet();
		Iterator<Map.Entry<String,Integer>> it=set.iterator();
		while(it.hasNext())
		{
			each=it.next().getValue();
			ts.add(each);
			sum += each;
		}
		Iterator<Integer> i=ts.iterator();
		while(i.hasNext()) {
			System.out.println(i.next());
		}
			
		System.out.println("最大值为:"+Collections.max(ts));
		System.out.println("最小值为:"+Collections.min(ts));
		System.out.println("平均值为:"+sum/ts.size());
		
	}
}

5.给定一个整数-1234567,输出它的二进制、八进制和十六进制表示形式。
代码:

package shiyan4;
public class jinzhizhuanhuan {
	public static void main(String args[]) {
		int n=-1234567;
		System.out.println("二进制:" + Integer.toBinaryString(n));  
		System.out.println("八进制:" + Integer.toOctalString(n));
		System.out.println("十六进制:" + Integer.toHexString(n));
	}
}

6.编写一个程序,检查当前系统的Java版本和类路径。
代码:

package shiyan4;
public class read {
	public static void main(String args[]) {
		System.out.print("当前系统的Java版本:");
		System.out.println(System.getProperty("java.version"));
		System.out.print("类路径:");
		System.out.println(System.getProperty("java.class.path"));
	}
}

7.编写Java程序,在其中调用外部程序cmd,并显示其输出结果。
代码:

package shiyan4;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Cmd {
	public static void main(String[] args) {
		BufferedReader br = null;
		try {
			Process p = Runtime.getRuntime().exec("net user");
			br = new BufferedReader(new InputStreamReader(p.getInputStream()));
			String line = null;
			while ((line = br.readLine()) != null) {
				System.out.println(line);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {

			if (br != null) {
				try {
					br.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}

}

8.请使用java.text.SimpleDateFormat类对日期进行格式化,形式如2005年8月10日。
代码:

package shiyan4;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Time {
	public static void main(String args[]) {
		SimpleDateFormat myfmt=new SimpleDateFormat("yyyy年MM月dd日");
		Date now=new Date();
		System.out.println(now.toString());
		String ds1=myfmt.format(now);
		System.out.println(ds1);
	}
}

四、心得体会:
通过此次实验,学会字符串String、StringBuffer类的使用方法。学会简单正则表达式的使用方法。学会使用数据类型包装器进行数据类型转换。学会System类和Runtime类的使用方法。学会日期和日历类的使用方法。理解并掌握常用集合类的使用方法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值