三 常用系统类库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广州大学学生实验报告
开课学院及实验室:电子实验楼418 2010年9月 30日
学院计算机科学与
教育软件学院
年级、专
业、班
08(5)姓名劳康乘学号0823010180
实验课程名称Java实验成绩
实验项目名称实验三包、接口、异常处理指导
老师
樊志平
一、实验目的
1.了解java的预定义类
2.学习使用java的常用类
3.掌握方法覆盖的使用
4.了解日期类和动态数组
二、实验设备(仪器)
Java JCreator,PC
三、实验原理
java程序编写与编译原理
四、实验步骤
1.java常用工具类
在该实验中包含3个练习,分别是针对Math类,基本类型的包装类,Math类中包含有许多常用的数学方法如求绝对值abs()、正弦值sin()、两数当中的较大值max(x,y),而基本类型的包装类则允许将基本的数据类型包装成一个类。
//MathTest.java
import java.util.*;
public class MathTest {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
int intData;
double doubleData;
String intString, doubleString;
System.out.print("请输入整数x和实数y:");
intData = scanner.nextInt();
// 以字符串方式输入实数
doubleString = scanner.next();
// 创建整数对象intObject
Integer intObject = new Integer(intData);
// 返回字符串所对应的数值
doubleData = Double.parseDouble(doubleString);
intData = intObject.intValue();
// 将整数对象的值以字符串形式输出
intString = intObject.toString();
System.out.println("你的输入是:" + intString + "," + doubleData);
// 开始调用Math类的方法进行运算
int intData1 = Math.abs(intData);
System.out.println("abs(x)x的绝对值:" + Math.abs(intData));
System.out.println("ceil(y)y向上取整:" + Math.ceil(doubleData));
System.out.println("f100“y)y向下取整:" + Math.floor(doubleData));
System.out.println("exp(x)e的x次幂:" + Math.exp(intData));
System.out.println("log(x)x的自然对数:" + Math.log(intData1));
System.out.println("max(x,y)x和y中的较大者:" + Math.max(intData, doubleData));
System.out.println("min(x,y)x和y中的较小者:" + Math.min(intData, doubleData));
System.out.println("sin(x)x的正弦值:" + Math.sin(intData));
System.out.println("COS(x)x的余弦值:" + Math.cos(intData));
System.out.println("以x为半径的圆面积:" + Math.PI * intData * intData);
}
}
2.日期类Date和Calendar
在这个练习里用户将会学习如何使用操作时间类Date和Calendar以及控制日期输入输出格式的类DateFormat,程序会要求用户以规范的格式输入自己的生日日期,然后将使用Date类和Calendar类中
的方法计算出用户的生日是星期几,用户的年龄以及出生的年份是否是闰年
//Birthday.java
import java.util.*; //Date,Calendar,Scanner
import java.text.*; //SimpleDateFormat
public class Birthday{
public static void main(String args[])throws ParseException{
String birthday,dayOfWeek=" ";
Date date;
Calendar calendar;
Scanner scanner=new Scanner(System.in);
System.out.println("请输入你的生日日期:yyyy-MM-dd");
birthday=scanner.next();
//创建一个日期格式对象
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
//获得一个包含当前日期和时间的calendar子类的实例
calendar=Calendar.getInstance();
int currentY ear=calendar.get(Calendar.YEAR);
//按输入的birthday产生一个Date对象
date=dateFormat.parse(birthday);
//将date对象的值传递给calendar对象
calendar.setTime(date);
int days=calendar.get(Calendar.DAY_OF_WEEK );
switch(days){
case 1:dayOfWeek="星期日";break;
case 2:dayOfWeek="星期一";break;
case 3:dayOfWeek="星期二";break;
case 4:dayOfWeek="星期三";break;
case 5:dayOfWeek="星期四";break;
case 6:dayOfWeek="星期五";break;
case 7:dayOfWeek="星期六";break;
}
System.out.println("你的生日是:"+dayOfWeek);
int birthY ear=calendar.get(Calendar.YEAR);
if(((birthY ear%4==0)&&(birthY ear%100!=0))||(birthY ear%400==0))
System.out.println(birthYear+"年:是闰年");
else
System.out.println(birthYear+"年:不是闰年");
int age=currentY ear-birthY ear;
System.out.println("你现在是:"+age+"岁");
}
}
3.动态数组V ector类
用户练习使用V ector类,vector类是一个动态数组,能根据实际需要动态地扩充数组大小,同时V ector 类还包含许多方法来操纵数组中的元素,程序中有一个V ector数组,里面包含有几个事先定义的城市名,同时,可以在该数组中增加几个新城市名,并进行一些交互性的操作
//CityV ector.java
import java.util.*;
public class CityV ector{
static String city[]={"北京","上海","广州","深圳"};
public CityV ector()
{
V ector vector=new V ector(6);
Scanner scanner=new Scanner(System.in);
String cityName;
int index;
for(int i=0;i vector.add(city[i]); }; //显示出数组信息 displayV ector(vector); System.out.print("\n请输入数组索引号:"); index =scanner.nextInt(); cityName=(String)vector.get(index); System.out.println("数组["+index+"]的元素值是:"+cityName); System.out.print("\n请再输入3个你喜欢的城市:"); for(int i=0;i<3;i++){ cityName=scanner.next(); vector.add(cityName); } displayV ector(vector); System.out.print("\n请输入一个你想查询的城市名:"); cityName=scanner.next(); if(vector.contains(cityName)) System.out.println("在数组中找到:"+cityName+"下标是:"+vector.indexOf(cityName)); else System.out.println("在数组中没有找到:"+cityName); System.out.print("\n请输入一个你想删除的城市名:"); cityName =scanner.next(); vector.remove(cityName); System.out.println(cityName+" 已被删除"); displayV ector(vector); } public void displayV ector(V ector vector) { System.out.println("\n数组大小:"+vector.size()+