1、Java程序设计课程实验代码及复习资料Java程序设计课程实验上机实践1 初识Java实验1 一个简单的应用程序1答案:【代码1】: System.out.println(你好,很高兴学习Java) ;【代码2】: System.out.println(We are students) ;2模板代码 Hello.javapublic class Hello public static void main (String args ) 【代码1】 /命令行窗口输出你好,很高兴学习Java A a=new A(); a.fA(); class A void fA() 【代码2】 /命令行窗口输出W
2、e are students 实验2 一个简单的Java Applet程序1答案:【代码1】: g.drawString(这是一个Java Applet 程序,10,30);【代码2】: g.drawString(我改变了字体,20,50);2模板代码 FirstApplet.javaimport java.applet.*; import java.awt.*;public class FirstApplet extends Applet public void paint(Graphics g) g.setColor(Color.blue); 【代码1】/在Java Applet中绘制一行
3、文字:“这是一个Java Applet 程序” g.setColor(Color.red); g.setFont(new Font(宋体,Font.BOLD,36); 【代码2】/在Java Applet中绘制一行文字:“我改变了字体” 实验3 联合编译1答案:【代码1】: System.out.println(你好,只需编译我);【代码2】: System.out.println(I am A);【代码3】: System.out.println(I am B);【代码4】: System.out.println(I am C);2模板代码 模板1:Hello.javapublic clas
4、s MainClass public static void main (String args ) 【代码1】 /命令行窗口输出你好,只需编译我 A a=new A(); a.fA(); B b=new B(); b.fB(); 模板2 :A.javapublic class A void fA() 【代码2】 /命令行窗口输出I am A 模板3 :B.javapublic class B void fB() 【代码3】 /命令行窗口输出I am B 模板4 :C.javapublic class C void fC() 【代码4】 /命令行窗口输出I am C 上机实践2 基本数据类型与
5、控制语句实验1 输出希腊字母表1答案:【代码1】: startPosition=(int)cStart;【代码2】: endPosition=(int)cEnd ; 【代码3】: c=(char)i; 2模板代码 GreekAlphabet.javapublic class GreekAlphabet public static void main (String args ) int startPosition=0,endPosition=0; char cStart=,cEnd=; 【代码1】 /cStart做int型转换据运算,并将结果赋值给startPosition 【代码2】 /cE
6、nd做int型转换运算,并将结果赋值给endPosition System.out.println(希腊字母在unicode表中的顺序位置:+(int)c); System.out.println(希腊字母表:); for(int i=startPosition;i=endPosition;i+) char c=0; 【代码3】 /i做char型转换运算,并将结果赋值给c System.out.print( +c);if(i-startPosition+1)%10=0) System.out.println(); 实验2 回文数1答案:【代码1】: number=1【代码2】: d5=numb
7、er/10000;【代码3】: d4=number%10000/1000;【代码4】: d3=number%1000/100;【代码5】: d5!=0【代码6】: d1=d5&d2=d4【代码7】: d4!=0【代码8】: d1=d4&d2=d3【代码9】: d3!=0【代码10】:d1=d32模板代码 Number.javaimport javax.swing.JOptionPane;public class Number public static void main(String args) int number=0,d5,d4,d3,d2,d1; String str=JOptionP
8、ane.showInputDialog(输入一个1至99999之间的数); number=Integer.parseInt(str); if(【代码1】) /判断number在1至99999之间的条件 【代码2】 /计算number的最高位(万位)d5 【代码3】 /计算number的千位d4 【代码4】 /计算number的百位d3 d2=number%100/10; d1=number%10; if(【代码5】) /判断number是5位数的条件 System.out.println(number+是5位数); if(【代码6】) /判断number是回文数的条件 System.out.p
9、rintln(number+是回文数); else System.out.println(number+不是回文数); else if(【代码7】) /判断number是4位数的条件 System.out.println(number+是4位数); if(【代码8】) /判断number是回文数的条件码 System.out.println(number+是回文数); else System.out.println(number+不是回文数); else if(【代码9】) /判断number是3位数的条件 System.out.println(number+是3位数); if(【代码10】)
10、 /判断number是回文数的条件 System.out.println(number+是回文数); else System.out.println(number+不是回文数); else if(d2!=0) System.out.println(number+是2位数); if(d1=d2) System.out.println(number+是回文数); else System.out.println(number+不是回文数); else if(d1!=0) System.out.println(number+是1位数); System.out.println(number+是回文数);
11、 else System.out.printf(n%d不在1至99999之间,number); 实验3 猜数字游戏1答案:【代码1】: yourGuess!=realNumber【代码2】: yourGuessrealNumber 【代码3】: yourGuessc&a+cb&c+ba 【代码3】: boo=true; 【代码4】: boo=false; 【代码5】: if(boo) length=sideA+sideB+sideC; return length; else System.out.println(不是一个三角形,不能计算周长); return 0; 【代码6】: sideA=a
12、;sideB=b;sideC=c;【代码7】: a+bc&a+cb&c+ba【代码8】: boo=true;【代码9】: boo=false;【代码10】:above=a; bottom=b; height=h;【代码11】: area=(above+bottom)/2*height; return area;【代码12】: radius=r;【代码13】: return 3.14*radius*radius;【代码14】: return 3.14*2*radius;【代码15】: circle=new Circle(10);【代码16】: trangle=new Trangle(3,4,5)
13、;【代码17】: lader=new Lader(3,4,10);【代码18】: length=circle.getLength();【代码19】: area=circle.getArea();【代码20】: length=trangle.getLength();【代码21】: area=trangle.getArea();【代码22】: area=lader.getArea();【代码23】: trangle.setABC(12,34,1);【代码24】: area=trangle.getArea();【代码25】: length=trangle.getLength();2模板代码 Area
14、AndLength.javaclass Trangle double sideA,sideB,sideC,area,length; boolean boo; public Trangle(double a,double b,double c) 【代码1】 /参数a,b,c分别赋值给sideA,sideB,sideC if(【代码2】) /a,b,c构成三角形的条件表达式 【代码3】 /给boo赋值。 else 【代码4】 /给boo赋值。 double getLength() 【代码5】 /方法体,要求计算出length的值并返回 public double getArea() if(boo)
15、 double p=(sideA+sideB+sideC)/2.0; area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC) ; return area; else System.out.println(不是一个三角形,不能计算面积); return 0; public void setABC(double a,double b,double c) 【代码6】 /参数a,b,c分别赋值给sideA,sideB,sideC if(【代码7】) /a,b,c构成三角形的条件表达式 【代码8】 /给boo赋值。 else 【代码9】 /给boo赋值。 class
16、 Lader double above,bottom,height,area; Lader(double a,double b,double h) 【代码10】 /方法体,将参数a,b,c分别赋值给above,bottom,height double getArea() 【代码11】 /方法体,,要求计算出area返回 class Circle double radius,area; Circle(double r) 【代码12】 /方法体 double getArea() 【代码13】 /方法体,要求计算出area返回 double getLength() 【代码14】 /getArea方法
17、体的代码,要求计算出length返回 void setRadius(double newRadius) radius=newRadius; double getRadius() return radius; public class AreaAndLength public static void main(String args) double length,area; Circle circle=null; Trangle trangle; Lader lader; 【代码15】 /创建对象circle 【代码16】 /创建对象trangle。 【代码17】 /创建对象lader 【代码1
18、8】 / circle调用方法返回周长并赋值给length System.out.println(圆的周长:+length); 【代码19】 / circle调用方法返回面积并赋值给area System.out.println(圆的面积:+area); 【代码20】 / trangle调用方法返回周长并赋值给length System.out.println(三角形的周长:+length); 【代码21】 / trangle调用方法返回面积并赋值给area System.out.println(三角形的面积:+area); 【代码22】 / lader调用方法返回面积并赋值给area Sys
19、tem.out.println(梯形的面积:+area); 【代码23】 / trangle调用方法设置三个边,要求将三个边修改为12,34,1。 【代码24】 / trangle调用方法返回面积并赋值给area System.out.println(三角形的面积:+area); 【代码25】 / trangle调用方法返回周长并赋值给length System.out.println(三角形的周长:+length); 实验2 实例成员与类成员1答案:【代码1】: float a; 【代码2】: static float b; 【代码3】: this.a=a; 【代码4】: this.b=b;
20、【代码5】: A.b=100; 【代码6】: A.inputB(); 【代码7】: cat.setA(200);【代码8】: cat.setB(400);【代码9】: dog.setA(150);【代码10】:dog.setB(300);【代码11】:cat.inputA();【代码12】:cat.inputB();【代码13】:dog.inputA();【代码14】:dog.inputB();2模板代码 Example.javaclass A 【代码1】 /声明一个float型实例变量a 【代码2】 /声明一个float型类变量b,即static变量b void setA(float a)
21、【代码3】 /将参数a的值赋值给成员变量a void setB(float b) 【代码4】 /将参数b的值赋值给成员变量b float getA() return a; float getB() return b; void inputA() System.out.println(a); static void inputB() System.out.println(b); public class Example public static void main(String args) 【代码5】 /通过类名操作类变量b,并赋值100 【代码6】 /通过类名调用方法inputB() A c
22、at=new A(); A dog=new A(); 【代码7】 /cat象调用方法setA(int a)将cat的成员a的值设置为200 【代码8】 /cat调用方法setB(int b)将cat的成员b的值设置为400 【代码9】 /dog象调用方法setA(int a)将dog的成员a的值设置为150 【代码10】 /dog调用方法setB(int b)将dog的成员b的值设置为300 【代码11】 /cat调用inputA()。 【代码12】 /cat调用inputB()。 【代码13】 /dog调用inputA()。 【代码14】 /dog调用inputB()。 实验3 使用pack
23、age语句与import语句1答案:无2模板代码 SquareEquation.javapackage tom.jiafei;public class SquareEquation double a,b,c; double root1,root2; boolean boo; public SquareEquation(double a,double b,double c) this.a=a; this.b=b; this.c=c; if(a!=0) boo=true; else boo=false; public void getRoots() if(boo) System.out.print
24、ln(是一元2次方程); double disk=b*b-4*a*c; if(disk=0) root1=(-b+Math.sqrt(disk)/(2*a); root2=(-b-Math.sqrt(disk)/(2*a); System.out.printf(方程的根:%f,%fn,root1,root2); else System.out.printf(方程没有实根n); else System.out.println(不是一元2次方程); public void setCoefficient(double a,double b,double c) this.a=a; this.b=b;
25、this.c=c; if(a!=0) boo=true; else boo=false; SunRise.javaimport tom.jiafei.*;class SunRise public static void main(String args ) SquareEquation equation=new SquareEquation(4,5,1); equation.getRoots(); equation.setCoefficient(-3,4,5); equation.getRoots(); 上机实践4 继承与接口实验1 继承1答案:【代码1】: public void speakHello() System.out.println(你好,吃饭了吗?); 【代码2】: public void averageHeight() height=173; Syst