实验七 常用工具类
一、 实验目的
1、 掌握Java语言中字符串相关类的使用方法;
2、 掌握正则表达式的基本原理以及Java语言中正则表达式的使用方法;
3、 掌握Java语言中数学运算相关类的使用方法;
4、 掌握Java语言中日期相关类的使用方法;
5、 掌握Java语言中List相关类的使用方法;
二、 实验要求
1、 根据实验步骤中提出的要求,使用记事本编写相应的Java程序;
2、 使用JDK中提供的javac以及java命令编译、运行自己所编写的Java程序;
3、 根据编译与运行过程中所获得的错误信息修改程序直至获得正确的结果;
4、 记录实验中遇到的各类问题并以及解决办法。
三、 实验步骤
1、 字符串
(1) 下面的代码将输出什么结果?为什么?
String a="Hello";
String b="Hello";
String c=new String("Hello");
char s[]={'H','e','l','l','o'};
String d=new String(s);
System.out.println(a==b);
System.out.println(a==c);
System.out.println(a==d);
System.out.println(a.equals(b) && a.equals(c) && a.equals(d));
(2) 请分别利用字符串相关类与正则表达式各编写一程序判断输入的学号是否正确(要求该学号为8位,年级为95~15级,专业为软件工程,班内学号小于35)?
2、 数学运算
(1) 利用Math类随机生成一个三维坐标(xyz均为整数,且都在20-100之间),然后求算该坐标点到原点的距离;
(2) 利用BigInteger类计算1000!。
3、 日期
(1) 请将下面的代码补充完整,该程序将读入一个时间,并输出其年份、月份、日期、星期、时、分、秒。
Scanner reader=new Scanner(System.in);
System.out.println("请输入日期:");
Date beginDate=null;
try {
beginDate = sdf.parse(reader.nextLine());
}
//添加输出年份、月份、日期、星期、时、分、秒的代码
(2) 继续添加代码,使上述程序能够获取输入时间与当前时间相差的月份数、周数以及天数。
4、 List
(1) 下面的程序有没有错误?为什么?
public class MyList {
static List<int> list;
public static void main(String[] args) {
int[] arr={1,3,5,7,9,2};
for (int i : arr){
list.add(i);
}
}
}
(2) 请利用Iterator接口将上面的list列表中的元素逐一输出。
(3) 已知一字符串的格式如下:[姓名],[年龄],[分数]\n…,下面是符合该格式的一个字符串:
”李明,19,87\n李华,20,58\n刘兰,19,75”
请问如何将该格式的字符串解析、转换成一个Student类的List链表,并求出其平均分与最大年龄?
其中Student类的定义如下:
class Student{
String name;
int age;
inr score;
}
四、 实验结果
五、 实验小结