Java基本类实验报告
西 西 安 安
邮
电 电 大 学 ( 计算机学院)
课内实验报告 实验名称:
Java 基本类
专业名称:
计算机科学与技术 班 班
级:
计科 1405 班
学生姓名:
高宏伟
学 学
号:
指导教师:
刘霞林 实验日期:
2016 、11 、10 0
一、实验目得
了解Java 常用得系统类,包括字符串类、System类、数学函数类、日期类、随机数类等得基本使用方法。
二、实验要求
1、 编写一个使用日期类得得程序. 2. 编写一个使用日历类与包装类得程序。
3. 编写一个使用数学函数得程序. 4. 编写一个使用集合框架得程序. 三、 实验内容
( ( 一) ) 使用日期类得Ap p pt let 程序
(1)程序功能:说明3 个日期类Date、Calendar与DateFormat 得使用方式及显示得样式. (2)编写LX5_1java 程序文件,源代码如下. import java、text、*;
;*、twa、avaj tropmiﻫ
;*、litu、avaj tropmiﻩ import java、applet、*;
public class LX5_1 extends Applet {
public void paint(Graphics g)
{
;yadot etaDﻩ Calendar now;
;2s,1s gnirtSﻫ
;2f,1f tamroFetaDﻫ【代码1】; // 获取系统当前日期,存放到today变量 g、drawString("字符串格式:"+today、toString(),20,20);
【代码2】; // 以默认格式生成格式化器,存放到f1变量【 日将 // ;】3码代ﻫ期转换为字符串,存放到s1变量 化式格期日国中得式格长成生 // ;)04,02,1s+”:式格统系”(gnirtSward、gﻩ器 f1=DateFormat、getDateInstance(DateFormat、LONG, Locale、CHINA);
f2=DateFormat、getTimeInstance(DateFormat、LONG, Locale、CHINA);
s1=f1、format(today); // 将日期转换为日期字符串 s2=f2、format(today); // 将日期转换为时间字符串 g、drawString("中国格式:”+s1+" "+s2,20,60);
【代码4】// 通过Calendar类获取系统时间,存放到now变量 s1=now、get(now、HOUR)+" 时"+now、get(now、MINUTE)+" 分”+now、get(now、SECOND)+"秒”;
g、drawString(”调整前时间:"+s1,20,80);
【 日13月21年6102为改修间时得中won将//
】5码代ﻩtoday=now、getTime();
g、drawString("调整后时间:”+today、toString(),20,100);
}
}ﻫ(3)编译程序文件。
(4)运行程序。
( ( 二) ) 使用日历类与包装类得程序
实验要求: :
编写一个Java应用程序,用户从输入对话框输入了两个日期,程序将判断两个日期得大小关系,以及两个日期之间得间隔天数。
程序模板: :
Dat eE xam ple import java、util、*; import javax、swing、JOptionPane; public class DateExample {
public static void main(String args[ ])
{
String str=JOptionPane、showInputDialog(”输入第一个日期得年
份:"); int yearOne=Integer、parseInt(str);
str=JOptionPane、showInputDialog("输入该年得月份:”); int monthOne=Integer、parseInt(str);
str=JOptionPane、showInputDialog(”输入该月份得日期:”); int dayOne=Integer、parseInt(str);
str=JOptionPane、showInputDialog(”输入第二个日期得年份:”); int yearTwo=Integer、parseInt(str);
str=JOptionPane、showInputDialog("输入该年得月份:”); int monthTwo=Integer、parseInt(str);
str=JOptionPane、showInputDialog("输入该月份得日期:”); int dayTwo=Integer、parseInt(str);
Calendar calendar=【代码1】
//初始化日历对象 【代码 2】
//将 calendar得时间设置为yearOne 年 monthOne 月 dayOne日
long timeOne=【代码 3】
//calendar 表示得时间转换成毫秒 【代码 4】
//将calendar 得时间设置为 yearTwo年 monthTwo 月 dayTwo日
long timeTwo=【代码5】
//calendar 表示得时间转换成毫秒.
Date date1=【代码 6】
//用 timeOne 做参数构造date1
Date date2=【代码 7】
//用timeTwo 做参数构造date2 if(date2、equals(date1))
{
System、out、println(”两个日期得年、月、日完全相同");
} else if(date2、after(date1))
{
System、out、println("您输入得第二个日期大于第一个日期");
} else if(date2、before(date1))
{
System、out、println(”您输入得第二个日期小于第一个日期”);
}
long days=【代码 8】//计算两个日期相隔天数
System、out、println(yearOne+"年"+monthOne+”月"+dayOne+"日与”
+yearTwo+"年”+monthTwo+"月"+dayTwo+”相隔"+days+”天");
}
} 实验后得练习: :
1. Calendar对象可以将时间设置到年、月、日、时、分、秒。请改进上面得程序,使用户输入得两个日期包括时、分、秒。
ﻩ ﻩ str=JOptionPane、showInputDialog(”输入该日得时:”);
ﻩ
;)rts(tnIesrap、regetnI=1ruohyad tniﻩ
str=JOptionPane、showInputDialog(”输入该日得分:");
int dayminute1=Integer、parseInt(str);
;)”:秒得日该入输"(golaiDtupnIwohs、enaPnoitpOJ=rtsﻩint daysecond1=Integer、parseInt(str);
2. 根据本程序中得一些知识,编写一个计算利息(按天计算)得程序。从输入对话框输入存款得数目与起止时间。
package test; import java、util、*; import javax、swing、JOptionPane; public class DateExample {
{ )] [sgra gnirtS(niam diov citats cilbupﻩ ﻩ 款存入输"(golaiDtupnIwohs、enaPnoitpOJ=rts gnirtSﻩ得数目:”);
ﻩ
;)rts(tnIesrap、regetnI=yenom tniﻩ
日个一第入输”(golaiDtupnIwohs、enaPnoitpOJ=rtsﻩ期得年份:");
;)rts(tnIesrap、regetnI=enOraey tniﻩ
str=JOptionPane、showInputDialog(”输入该年得月份:”);
;)rts(tnIesrap、regetnI=enOhtnom tniﻩ ﻩ 得份月该入输”(golaiDtupnIwohs、enaPnoitpOJ=rtsﻩ日期:");
;)rts(tnIesrap、regetnI=enOyad tniﻩ
;)(etaD wen=etad etaDﻩ ﻩ //
;)(ecnatsnIteg、radnelaC=radnelac radnelaCﻩ初始化日历对象
ﻩ
;)1—enOyad ,1-enOhtnom ,enOraey(tes、radnelacﻩ//将calendar得时间设置为yearOne年monthOne月dayOne日
//
;)(silliMnIemiTteg、radnelac=enOemit gnolﻩcalendar表示得时间转换成毫秒
radnelac//
;)(emiTteg、etad=owTemit gnolﻩ表示得时间转换成毫秒。
ﻩ ;)42*06*06*0001(/)enOemit—owTemit(=syad gnolﻩ//计算两个日期相隔天数
;syad*563/5300、0*yenom=tseretni elbuodﻩ
System、out、println("存款:”+money+"\n从"+yearOne+”年”+monthOne+”月”+dayOne+"日到今天得利息为:”+interest);
}
}
( ( 三) )M M at t h类得使用。
Math 就是一个最终类,含有基本数学运算函数,如指数运算、对数运算、求平方根、三角函数、随机数等,可以直接在程序中加 Math、前缀调用。
1. 创建使用 Math 类得应用程序 KY5_2、java,源程序如下. import java、util、*; class KY5_2 { public static void main(String args[])
{ Random r1=new Random(1234567890L); Random r2=new Random(1234567890L); boolean b=r1、nextBoolean(); // 随机数不为0 时取真值 int i1=r1、nextInt(100); // 产生大于等于0 小于100 得随机数 int i2=r2、nextInt(100); // 同上 double i3=r1、nextDouble(); // 产生大于等于0、0 小于1、0 得随机数 double i4=r2、nextDouble(); // 同上 double d1=Math、sin(Math、toRadians(30、0)); double d2=Math、log(Math、E); double d3=Math、pow(2、0, 3、0); int r=Math、round(33、6F); System、out、println("b 得随机数不为0 时 "+b); System、out、println(”i1 得随机数为 ”+i1); System、out、println(”i2 得随机数为 ”+i2); System、out、println(”d1 得随机数为 ”+i3); System、out、println(”d2 得随机数为 ”+i4); System、out、println(”30 弧度得正弦值:Math、sin(Math、toRadians(30、0))= "+d1); System、out、println(”E 得对数值:Math、log(Math、E)= ”+d2); System、out、println(”2 得3 次方:Math、pow(2、0, 3、0)= ”+d3); System、out、println("33、6F 四舍五入:Math、round(33、6F)= "+r); } }
2. 编译 KY5_2、java 文件. 3. 运行 KY5_2、class 文件,并输入 1234
( ( 四) ) 使用 Array L is t线 性表
实验要求: :
编写程序,在ArrayList线性表中进行定位、查找与迭代。
程序模板: :
Arr a yLi stD emo
import
java、util、*; class ArrayListDemo {
public static void main(String[] args) {
tsiLyarrA个一建创//
;】1码代【= yadkeeWym
tsiLyarrAﻩ
【代码2】//将"Sunday"、”Monday”、"Wednesday”、”Friday”逐个加入线性表 ;)yadkeeWym(nltnirp、tuo、metsySﻩ
【代码3】//插入”Tuesday”,作为第二个元素
【 ”yadsruhT"为换替素元个4第将//
】4码代ﻩ【
素元个0第除删//
】5码代ﻩ 【代码6】
//获取线性表得迭代器
【 印打并,素元个每得表性线得获代迭// 】7码代ﻩ } ﻩ} 五 、 运行结果
(一)使用日期类得 Ap pt let 程序
(二)使用日历类与包装类得程序
( ( 三)
Ma a th h 类得使用。
( ( 四)使用 Ar rayL L ist t 线性表
六、总结
通过这次试用了解了Java 常用得系统类,包括字符串类、System类、数学函数类、日期类、随机数类等得基本使用方法。