java实验报告.docx

上传人:b****5 文档编号:5654528 上传时间:2022-12-30 格式:DOCX 页数:38 大小:885.42KB
下载 相关 举报
java实验报告.docx_第1页
第1页 / 共38页
java实验报告.docx_第2页
第2页 / 共38页
java实验报告.docx_第3页
第3页 / 共38页
java实验报告.docx_第4页
第4页 / 共38页
java实验报告.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

java实验报告.docx

《java实验报告.docx》由会员分享,可在线阅读,更多相关《java实验报告.docx(38页珍藏版)》请在冰豆网上搜索。

java实验报告.docx

java实验报告

 

实验报告

湖南大学信息科学与工程学院

2011年第二学期

专业:

测控技术与仪器

课程名称:

Java程序设计

班级:

测控1101

姓名:

**菀学号:

********116

指导教师:

文家宝

配套用书:

《Java程序设计教程》张永强等著

清华大学出版社2010年1月

实验01:

安装与熟悉J2SDK

1.贴了很多图

实验数据记录及分析(或程序及运行结果)

1.调试下面程序,指出错误

publicClassHelloWorldApp{

publicvoidstaticmain(string[]args){

system.out.println(“HelloWorld!

”);

}

}

错误1:

”system”写为”System”

错误2:

”Class”写为”class”

错误3:

”string”写为”String”

错误4:

”void”和”static”交换位置

2.写出调试过程编译和执行的具体命令

1)上述文件保存后的文件名是:

HelloWorldApp.java

2)编译命令:

3)编译正确后,产生的另外一个文件全称是:

4)运行该程序的命令:

3.如果上面的编译命令中的HelloWorldApp.java换成以下格式,写出执行编译结果:

javachelloworldapp.java

javacHelloWorldApp

4.如果上面的运行命令改成以下格式,写出执行结果,如有错误请改正。

javahelloWorldApp.java

javahelloworldapp

javaHelloWorldApp.class

5.输入下面的随机数生成程序,重复上述编译和执行过程,分步写出两个命令执行过程。

importjava.util.Random;

publicclassMathDemo{

publicstaticvoidmain(String[]args){

Randomrand=newRandom();

intv=rand.nextInt();

System.out.println("你得到了一个"+v);

}

}

1)保存文件名为:

MathDemo.java

2)编译命令为:

3)运行程序命令为:

4)如果删除该程序的第一行import语句,重新编译,有何问题?

评语:

日期:

年月日

实验03:

数值类型与变量声明

1.

1.

实验数据记录及分析(或程序及运行结果)

publicclassVariable{

publicstaticvoidmain(String[]args){

inta=10;

System.out.println("a="+a);

}

}

1.写出程序运行的结果

2.修改上述程序,定义一个字符型变量,并定义其初值为'a',然后输出该变量的值,在下面写出修改后的代码片段。

publicclassVariable{

publicstaticvoidmain(String[]args){

chara='a';

System.out.println(a);

}

}

3.修改上述程序,定义一个字符型变量,并定义其初值为100,然后输出该变量的值,在下面写出修改后的代码片段。

4.修改上述程序,定义一个字符型变量,并定义其初值为65536,然后输出该变量的值,在下面写出修改后的代码片段,如果有错误,说明原因。

Char表示一个Unicode字符,其值用16位无符号整数表示,范围为0~65535

5.修改上述程序,定义一个单精度类型的变量,并定义其初值为10.0,然后输出该变量的值,在下面写出修改后的代码片段。

6.修改上述程序,定义一个双精度类型的变量,并定义其初值为10.0,然后输出该变量的值,在下面写出修改后的代码片段。

7.替换下面的代码段到上述程序,分析现象。

floatf=10.0f;

doubled=100.0d;

f=d;

System.out.println("f="+f);

f的值未使用;f和d的类型不一样。

8.替换下面的代码段到上述程序,分析结果。

inta=10;

charc='a';

a=c+a;

System.out.printf("c=%c",a);

字符c对应于十进制数97,执行a=c+a;后,a的值为107,对应于字符k。

9.声明一个布尔类型的变量,其初值为真。

10.替换下面的代码段到上述程序,分析现象。

Variablev=newVariable();

System.out.println("v="+v);

创建了一个对象v,为v分配了空间,但v没有被变量引用。

评语:

日期:

年月日

实验04:

运算符和表达式

实验数据记录及分析(或程序及运行结果)

1.运行下面的程序,写出运行结果

publicclassArithmaticOp{

publicstaticvoidmain(Stringargs[]){

inta=5+4,b=a*2,c=b/4;a=9,b=18,c=4

intd=b-c;d=14

inte=-d;e=-14

intf=e%4;f=-2

doubleg=18.4,h=g%4;g=18.4;h=2.4

inti=3;i=3

intj=i++;j=3,i=4

intk=++i;k=5

System.out.println("a="+a);9

System.out.println("b="+b);18

System.out.println("c="+c);4

System.out.println("d="+d);14

System.out.println("e="+e);-14

System.out.println("f="+f);-2

System.out.println("g="+g);18.4

System.out.println("h="+h);2.4

System.out.println("i="+i);5

System.out.println("j="+j+"\nk="+k);5

}

}

2.写一个程序,计算32/5的结果,如果需要得到浮点数的结果该如何重写表达式。

分别写出这两个赋值表达式。

3.创建一个类名为GravityCalculator的类,在该类中写上以下代码,

publicstaticvoidmain(String[]arguments){

doublegravity=9.81;//重力速度,单位m/s^2

doubleinitialVelocity=0.0;

doublefallingTime=10.0;

doubleinitialPosition=0.0;

doublefinalPosition=0.0;

System.out.println("Theobject'spositionafter"+fallingTime+"secondsis"+finalPosition+"m.");

}

运行此程序,输出运行结果。

4.修改上述例子程序,完成以下功能:

计算10秒钟后物体的位置。

输出位置以米为单位,计算的数学公式为:

x(t)=0.5×gt2+vit+xi

变量作用值

g加速度(m/s2)9.81

t时间(s)10

vi初速度(m/s)0

xi初始位置0

5.有四个整数分别用a、b、c、d表示,请使用条件运算符找出其中最大值。

评语:

日期:

年月日

实验05:

输入/输出处理

实验数据记录及分析(或程序及运行结果)

1.编写程序,从键盘上输入一个整数作为圆的半径,分别计算并输出圆周长、圆面积。

importjava.util.Scanner;

publicclass计算有关圆{

publicstaticvoidmain(String[]args){

Scanners=newScanner(System.in);

System.out.println("请输入圆的半径");

intr=s.nextInt();

floatc=(float)3.14*2*r;

floatm=(float)3.14*r*r;

System.out.print("圆的周长为:

"+c+"圆的面积为:

"+m);

2.编写程序,从键盘上输入三个实数,比较大小,分别输出最大值和最小值。

package键盘输入比较大小;

importjava.util.Scanner;

publicclass键盘输入比较大小{

publicstaticvoidmain(String[]args){

Scanners=newScanner(System.in);

System.out.println("输入三个数的值");

inta=s.nextInt();

intb=s.nextInt();

intc=s.nextInt();

intmax,min;

if(a>b){max=a;min=b;}

else{max=b;min=a;}

if(c>max){max=c;}

if(c

System.out.println("max="+max+"min="+min);

}

}

3.运行下面的程序,写出运行结果,解释每种格式的含义。

importjava.util.Calendar;

publicclassCommandParameter{

publicstaticvoidmain(String[]args){

longn=461012;

System.out.printf("%d%n",n);整型输出

System.out.printf("%08d%n",n);

System.out.printf("%+8d%n",n);

System.out.printf("%,8d%n",n);

System.out.printf("%+,8d%n%n",n);

doublepi=Math.PI;

System.out.printf("%f%n",pi);

System.out.printf("%.3f%n",pi);

System.out.printf("%10.3f%n",pi);

System.out.printf("%-10.3f%n",pi);

Calendarc=Calendar.getInstance();

System.out.printf("%tB%te,%tY%n",c,c,c);

System.out.printf("%tl:

%tM%tp%n",c,c,c);

System.out.printf("%tD%n",c);

}

}

结果:

461012

00461012

+461012

461,012

+461,012

3.141593

3.142

3.142

3.142

五月28,2012

12:

55上午

05/28/12

评语:

日期:

年月日

实验内容:

(选择其一)

一.写一个名为Stock的类模拟股票,类包含符号标志、名称、前期收盘价、当前价等属性,包含构造器方法和计算价格变化方法。

类结构如下表:

Stock

privateStringsymbol

privateStringname

privatedoublepreviousClosingPrice

privatedoublecurrentPrice

publicStock()

publicStock(Stringsymbol,Stringname)

publicStringgetSymbol()

publicStringgetName()

publicdoublegetPreviousClosingPrice()

publicdoublegetCurrentPrice()

publicvoidsetSymbol(Stringsymbol)

publicvoidsetName(Stringname)

publicvoidsetPreviousClosingPrice(doublepreviousClosingPrice)

publicvoidsetCurrentPrice(doublecurrentPrice)

publicdoublechangePercent()

 

请实现Stock类,并另写一个类来测试Stock类。

在测试类中,创建一个Stock对象,其股票标志为SUN、名称为SunMircosystemInc、前期收盘价为100。

随机设置一个新的当前价,显示价格变化比例。

packagestock;

publicclassStock{

privateStringsymbol;

privateStringname;

privatedoublepreviousPrice;

privatedoublecurrentPrice;

publicStock(){

}

publicStock(Stringsymbol,Stringname){

this.symbol=symbol;

this.name=name;

}

publicStringgetSymbol(){

returnsymbol;

}

publicStringgetName(){

returnname;

}

publicdoublegetPreviousPrice(){

returnpreviousPrice;

}

publicdoublegetCurrentPrice(){

returncurrentPrice;

}

publicvoidsetSymbol(Stringsymbol){

this.symbol=symbol;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicvoidsetPreviousPrice(doublepreviousPrice){

this.previousPrice=previousPrice;

}

publicvoidsetCurrentPrice(doublecurrentPrice){

this.currentPrice=currentPrice;

}

publicdoublechangePercent(){

return((currentPrice-previousPrice)/previousPrice);

}

publicstaticvoidmain(String[]args){

}

}

importjava.util.Scanner;

importstock.Stock;

publicclassTestStock{

publicstaticvoidmain(String[]args){

Stocksun=newStock("SUN","SunMircosystemInc");

doublex=100.0d;

sun.setPreviousPrice(x);

Scannerscan=newScanner(System.in);

System.out.println("前期收盘价为100,"

+"请输入一个新的当前价:

");

sun.setCurrentPrice(scan.nextDouble());

System.out.printf("\n价格变化为:

");

System.out.println(sun.changePercent()*100+

"%");

}

}

实验二Java输入输出

一.File类的应用-文件、文件夹的建立、删除、重命名等

package文件类应用;

importjava.io.File;

importjava.io.IOException;

publicclass文件类应用{

publicstaticvoidmain(String[]args)throwsIOException{

Filefile=newFile("d:

/","myfolder");

file.mkdir();

Filefile1=newFile("d:

/myfolder/my.txt");

file1.createNewFile();

System.out.println("文件夹建立"+file.exists());

System.out.println("文件建立"+file1.exists());

FilefileNew=newFile(file1.getParent(),"ThisisNewName.txt");

System.out.println("原始名字为:

"+file1.getName());

booleana;

if(a=file1.renameTo(fileNew)){

System.out.println("的重命名为:

"+fileNew.getName());

}

System.out.println("下面建立并删除file2文件");

Filefile2=newFile("d:

/myfolder/2.txt");

file2.createNewFile();

System.out.println("文件夹file2建立"+file.exists());

System.out.println("删除file2:

"+file2.delete());

}

}

//二.将一个文本文件用readLine()读出到屏幕,并将其写入到另外一个文件中。

package读文件readline;

importjava.io.*;

publicclass读文件readline{

publicstaticvoidmain(String[]args)throwsIOException{

System.out.println("下面从当前准备好的文件JAVA.txt中读取信息");

Filefile=newFile("d:

/","JAVA.txt");

try(BufferedReaderbufferedReader=newBufferedReader(new

InputStreamReader(newFileInputStream(file),"GBK"))){

FilefileNew=newFile("d;/","NewFile.txt");

fileNew.createNewFile();

try(FileWriterfileWriter=newFileWriter(fileNew)){

BufferedWriterbufferedWriter=newBufferedWriter(fileWriter);

Stringstr=null;

str=bufferedReader.readLine();

while(str!

=null){

System.out.println(str);

fileWriter.write(str);

fileWriter.flush();

str=bufferedReader.readLine();

}

}

}

}

}

实验三异常处理机制

实验内容:

1.输入两个数据,显示两个数的商。

●当除数或被除数不是数字时抛出NumberFormatExcetpion,并用try…catch…finally语句进行处理。

●当除数为0时,捕获ArithmeticException,并在控制台上打印异常信息。

●自定义异常LowerThanZeroException,当除数、被除数小于0时抛出,

package除法异常;

importjava.util.Scanner;

publicclass除法异常{

staticintdividend;

staticintdivisor;

staticdoubleresult;

publicstaticvoidmain(String[]args){

Scannerscan=newScanner(System.in);

booleanjudge=false;

while(!

judge){

judge=true;

try{

System.out.println("请输入被除数:

");

dividend=scan.nextInt();

System.out.println("请输入除数:

");

divisor=scan.nextInt();

if(divisor==0){

thrownewArithmeticException();

}

if(dividend<0||divisor<0){

thrownewLowerThanZeroException();

}

result=(double)dividend/divisor;

}

catch(LowerThanZeroExceptione1){

judge=false;

System.out.println(e1.toString());

}

catch(ArithmeticExceptione2){

judge=false;

System.out.println(e2.toString());

}

catch(java.util.InputMismatchExceptione3){

judge=false;

thrownewNumberFormatException();

}

finally{

if(judge){

System.out.println("结果为:

"+result);

}

else{

System.out.println("请重新输入:

");

}

}

}

}

}

classLowerThanZeroExceptionextendsException{

priva

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1