河南财经政法大学JAVA程序设计作业0.docx
《河南财经政法大学JAVA程序设计作业0.docx》由会员分享,可在线阅读,更多相关《河南财经政法大学JAVA程序设计作业0.docx(65页珍藏版)》请在冰豆网上搜索。
河南财经政法大学JAVA程序设计作业0
实验报告
计算机与信息工程学院
2012年---2013年第1学期
专业:
软件技术
课程名称:
Java程序设计
班级:
十班
姓名:
学号:
指导教师:
屈志民
实验01:
安装与熟悉J2SDK
实验目的:
1.了解和使用J2sdk(JDK)环境;
2.熟悉J2sdk集成环境的基本命令、功能和基本用法,并学会配置path等环境变量;
3.学习并熟练掌握使用J2SDK环境进行Java程序开发的全过程(包括:
源程序的编辑、编译、调试、运行和结果查看);
4.掌握Java应用程序的构成特点,并熟悉基本的错误调试。
实验内容
1.J2SDK开发包的安装(可选)
2.根据要求写出统环境变量的配置
3.编写一个JAVA程序进行调试,掌握在JDK开发包支持下编译和运行的过程
实验数据记录及分析(或程序及运行结果)
1.调试下面程序,指出错误
publicClassHelloWorldApp{
publicvoidstaticmain(string[]args){
system.out.println(“HelloWorld!
”);
}
}
错误1:
HelloWorldApp.java:
1:
错误:
需要class,interface或enum
publicClassHelloWorldApp{
错误2:
HelloWorldApp.java:
2:
错误:
需要class,interface或enum
publicvoidstaticmain(string[]args){
错误3:
HelloWorldApp.java:
3:
错误:
非法字符:
\8220
system.out.println(“HelloWorld!
”);
错误4:
HelloWorldApp.java:
4:
错误:
需要class,interface或enum
}
2.写出调试过程编译和执行的具体命令
1)上述文件保存后的文件名是:
HelloWorldApp.java
2)编译命令:
javacHelloWorldApp.java
3)编译正确后,产生的另外一个文件全称是:
HelloWorldApp.class
4)运行该程序的命令:
javaHelloWorldApp
3.如果上面的编译命令中的HelloWorldApp.java换成以下格式,写出执行编译结果:
javachelloworldapp.java
正常编译无错误
javacHelloWorldApp
错误:
仅当显式请求注释处理时才接受类名称'HelloWorldApp'
1个错误
4.如果上面的运行命令改成以下格式,写出执行结果,如有错误请改正。
javahelloWorldApp.java
错误:
找不到或无法加载主类helloWorldApp.java
javahelloworldapp
Exceptioninthread"main"java.lang.NoClassDefFoundError:
helloworldapp(wrong
name:
HelloWorldApp)
atjava.lang.ClassLoader.defineClass1(NativeMethod)
atjava.lang.ClassLoader.defineClass(ClassLoader.java:
791)
atjava.security.SecureClassLoader.defineClass(SecureClassLoader.java:
14
2)
at.URLClassLoader.defineClass(URLClassLoader.java:
449)
at.URLClassLoader.access$100(URLClassLoader.java:
71)
at.URLClassLoader$1.run(URLClassLoader.java:
361)
at.URLClassLoader$1.run(URLClassLoader.java:
355)
atjava.security.AccessController.doPrivileged(NativeMethod)
at.URLClassLoader.findClass(URLClassLoader.java:
354)
atjava.lang.ClassLoader.loadClass(ClassLoader.java:
423)
atsun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
308)
atjava.lang.ClassLoader.loadClass(ClassLoader.java:
356)
atsun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:
476)
javaHelloWorldApp.class
错误:
找不到或无法加载主类HelloWorldApp.class
5.输入下面的随机数生成程序,重复上述编译和执行过程,分步写出两个命令执行过程。
importjava.util.Random;
publicclassMathDemo{
publicstaticvoidmain(String[]args){
Randomrand=newRandom();
intv=rand.nextInt();
System.out.println("你得到了一个"+v);
}
}
1)保存文件名为:
MathDemo
2)编译命令为:
javacMathDemo.java
3)运行程序命令为:
javaMathDemo
4)如果删除该程序的第一行import语句,重新编译,有何问题?
MathDemo.java:
1:
错误:
需要class,interface或enum
5)java.util.Random;
6)^
7)1个错误
评语:
日期:
年月日
实验02:
Eclipse开发环境
实验目的:
1.了解最基本的环境配置过程。
2.掌握Eclipse环境下的Java程序开发过程。
实验数据记录及分析(或程序及运行结果)
1.在Eclispe环境下创建一个项目MyExexercise,添加一个包demo,向包内添加一个类CommandParameter,配置运行参数,使得程序能够逐个输出命令行参数的要求。
1)自动生成的CommandParameter程序的第一行是什么?
Packagedemo;
2)在何处配置运行时的命令行参数?
Run>RunConfigurations>Argument
2.在何处调整项目缺省的字符集。
File>Properties>Resource>Textfileencoding
3.在何处可以调整代码编辑框内的文字大小,写出操作指南。
Window>Preference>General>Appearance>ColorsandFonts>Textcompare
4.如果console窗口关闭了,如何操作才能重新显示出来?
Window>showview>console
5.写出设置断点的步骤。
双击代码行行首即可设置断点
6.如何查看运行过程中各个变量的值。
Window>showview>varaible
评语:
日期:
年月日
实验03:
数值类型与变量声明
实验目的:
1.掌握标识符的定义规则
2.认识Java的数据类型以及掌握各种变量的声明方法。
3.掌握不同数值类型间的赋值问题
实验内容
1.编写一个JAVA程序,对不同类型的类型进行变量的定义并输出相应的值。
实验数据记录及分析(或程序及运行结果)
publicclassVariable{
publicstaticvoidmain(String[]args){
inta=10;
System.out.println("a="+a);
}
}
1.写出程序运行的结果
a=10
2.修改上述程序,定义一个字符型变量,并定义其初值为'a',然后输出该变量的值,在下面写出修改后的代码片段。
a=97
publicclassVariable{
publicstaticvoidmain(String[]args){
inta='a';
System.out.println("a="+a);
}
}
3.修改上述程序,定义一个字符型变量,并定义其初值为100,然后输出该变量的值,在下面写出修改后的代码片段。
a=dpublicclassVariable{
publicstaticvoidmain(String[]args){
chara=100;
System.out.println("a="+a);
}
}
4.修改上述程序,定义一个字符型变量,并定义其初值为65536,然后输出该变量的值,在下面写出修改后的代码片段,如果有错误,说明原因。
publicclassVariable{
publicstaticvoidmain(String[]args){
charch=65536;
System.out.println("a="+a);
}
}
Variable.java:
3:
错误:
可能损失精度
charch=65536;
^
需要:
char
5.修改上述程序,定义一个单精度类型的变量,并定义其初值为10.0,然后输出该变量的值,在下面写出修改后的代码片段。
publicclassVariable{
publicstaticvoidmain(String[]args){
Floatx=10.0;
System.out.println("a="+a);
}
}
6.修改上述程序,定义一个双精度类型的变量,并定义其初值为10.0,然后输出该变量的值,在下面写出修改后的代码片段。
publicclassVariable{
publicstaticvoidmain(String[]args){
doubletx=10.0;
System.out.println("a="+a);
}
}
无法执行,
7.替换下面的代码段到上述程序,分析现象。
floatf=10.0f;
doubled=100.0d;
f=d;
System.out.println("f="+f);
无法执行,浮点型只能小转大不能大转小
8.替换下面的代码段到上述程序,分析结果。
inta=10;
charc='a';
a=c+a;
System.out.printf("c=%c",a);
c=kackii码中a=9797+10=107107为k所以输出结果为c=k
9.声明一个布尔类型的变量,其初值为真。
publicclassVariable{
publicstaticvoidmain(String[]args){
Booleantruth=true;
System.out.println("a="+a);
}
}
10.替换下面的代码段到上述程序,分析现象。
Variablev=newVariable();
System.out.println("v="+v);
评语:
日期:
14年10月27日
实验04:
运算符和表达式
实验目的:
1.熟悉运算符的作用、优先级和结合方向
2.认识Java的表达式,理解表达式的构成、类型
实验数据记录及分析(或程序及运行结果)
1.运行下面的程序,写出运行结果
publicclassArithmaticOp{
publicstaticvoidmain(Stringargs[]){
inta=5+4,b=a*2,c=b/4;
intd=b-c;
inte=-d;
intf=e%4;
doubleg=18.4,h=g%4;
inti=3;
intj=i++;
intk=++i;
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
System.out.println("d="+d);
System.out.println("e="+e);
System.out.println("f="+f);
System.out.println("g="+g);
System.out.println("h="+h);
System.out.println("i="+i);
System.out.println("j="+j+"\nk="+k);
}
}
a=9
b=18
c=4
d=14
e=-14
f=-2
g=18.4
h=2.3999999999999986
i=5
j=3
k=5
2.写一个程序,计算32/5的结果,如果需要得到浮点数的结果该如何重写表达式。
分别写出这两个赋值表达式。
publicclassshiyan{
publicstaticvoidmain(Stringargs[]){
inta=32;
intb=5;
doublec=a/b;
System.out.println("c="+c);
}
}
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.");
}
运行此程序,输出运行结果。
Theobject'spositionafter10.0secondsis0.0m.
4.修改上述例子程序,完成以下功能:
计算10秒钟后物体的位置。
输出位置以米为单位,计算的数学公式为:
x(t)=0.5×gt2+vit+xi
变量作用值
g加速度(m/s2)9.81
t时间(s)10
vi初速度(m/s)0
xi初始位置0
490.5m
5.有四个整数分别用a、b、c、d表示,请使用条件运算符找出其中最大值。
publicstaticvoidmain(String[]args){
inta=10,b=8,c=12,d=5;
intva1=0;
if(a>b){
va1=a;
}else{
va1=b;
}
if(va1>c){
va1=va1;
}else{
va1=c;
}
if(va1>d){
va1=va1;
}else{
va1=d;
}
System.out.println(va1);
评语:
日期:
年月日
实验05:
输入/输出处理
实验目的:
掌握输入输出程序的处理。
实验数据记录及分析(或程序及运行结果)
1.编写程序,从键盘上输入一个整数作为圆的半径,分别计算并输出圆周长、圆面积。
publicclassComputeArea{
publicstaticvoidmain(String[]args){
intr=10;
doublearea=3.14*r*r;
doublegrith=3.14*2*r;
System.out.print(area);
System.out.print(grith);
}
}
2.编写程序,从键盘上输入三个实数,比较大小,分别输出最大值和最小值。
packagegzh;
publicclassEx13{
publicstaticvoidmain(Stringargs[]){
inta=1;
intb=2;
intc=3;
intmax=0;
intmin=0;
if(a>b){
max=a;
min=b;
}else{
max=b;
min=a;
}
if(maxmax=c;
}else{
if(min>c){
min=c;
}
}
System.out.print("max="+max);
System.out.print("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.149593
3.142
3.142
3.142
评语:
日期:
年月日
实验06:
流程控制
(一)
实验目的:
1.能够正确使用if,switch语句,并且能正确使用合法的参数类型。
2.在不同情况下,能够正确选择使用循环语句,能正确使用break,continue,能计算在循环中或循环后循环计数器的值。
实验数据记录及分析(或程序及运行结果)
1.编写程序,声明一个double型变量,并任意赋值,然后判断该书是否在1到10000之间,根据结果输出下面其中一行结果(x需用实际的数值代替):
Thenumberxisbetween1and10000.
Thenumberxisnotbetween1and10000.
publicclassEx6{
publicstaticvoidmain(String[]args){
doublex=100.34D;
if(x>=1&&x<=10000){
System.out.print("Thenumber"+x+"isbetween1and10000");
}else{
System.out.print("Thenumber"+x+"isnotbetween1and10000");
}
}
}
Thenumber100.34isbetween1and10000
2.分析下面程序,写出运行结果
classTestApp{
publicstaticvoidmain(String[]args){
for(inti=0;i<10;i++){
if(i==3)
break;
System.out.print(i);
}
}
}
运行结果:
012
3.分析switch的作用,写出下面程序运行的结果
classSwitchDemo{
publicstaticvoidmain(Stringargs[]){
intc=38;
switch(c<10?
1:
c<25?
2:
c<35?
3:
4){
case1:
System.out.println(""+c+"℃有点冷。
要多穿衣服。
");
case2:
System.out.println(""+c+"℃正合适。
出去玩吧。
");
case3:
System.out.println(""+c+"℃有点热。
");
default:
System.out.println(""+c+"℃太热了!
开空调。
");
}
}
1)当c=38时,运行结果是什么?
2)当c=8时,运行结果是什么?
3)当c=48时,运行结果是什么?
在每个case的输出语句后,添加break语句后,充分执行上述几种情况,分析有何变化,分析写出每次运行结果。
当c=38时,运行结果是
当c=8时,运行结果是
当c=48时,运行结果是
4.通过键盘输入任一个整数,判断其是否是素数,并输出判断结果。
packagegzh;
publicclassEx14{
publicstaticvoidmain(Stringargs[]){
int[]aa=newint[2];
System.out.println("随意输入一个整数:
54");
Scannerscanner=newScanner(System.in);
Stringa=