最新java2实用教程实验代码及答案.docx
《最新java2实用教程实验代码及答案.docx》由会员分享,可在线阅读,更多相关《最新java2实用教程实验代码及答案.docx(116页珍藏版)》请在冰豆网上搜索。
![最新java2实用教程实验代码及答案.docx](https://file1.bdocx.com/fileroot1/2023-1/25/03f0b655-b226-4e6d-b165-f943a1046dd6/03f0b655-b226-4e6d-b165-f943a1046dd61.gif)
最新java2实用教程实验代码及答案
上机实践1初识Java
实验1一个简单的应用程序
1.答案:
【代码1】:
System.out.println("你好,很高兴学习Java");
【代码2】:
System.out.println("Wearestudents");
2.模板代码
Hello.java
publicclassHello
{
publicstaticvoidmain(Stringargs[])
{
【代码1】//命令行窗口输出"你好,很高兴学习Java"
Aa=newA();
a.fA();
}
}
classA
{
voidfA()
{
【代码2】//命令行窗口输出"Wearestudents"
}
}
实验2一个简单的JavaApplet程序
1.答案:
【代码1】:
g.drawString("这是一个JavaApplet程序",10,30);
【代码2】:
g.drawString("我改变了字体",20,50);
2.模板代码
FirstApplet.java
importjava.applet.*;
importjava.awt.*;
publicclassFirstAppletextendsApplet
{
publicvoidpaint(Graphicsg)
{
g.setColor(Color.blue);
【代码1】//在JavaApplet中绘制一行文字:
“这是一个JavaApplet程序”
g.setColor(Color.red);
g.setFont(newFont("宋体",Font.BOLD,36));
【代码2】//在JavaApplet中绘制一行文字:
“我改变了字体”
}
}
实验3联合编译
1.答案:
【代码1】:
System.out.println("你好,只需编译我");
【代码2】:
System.out.println("IamA");
【代码3】:
System.out.println("IamB");
【代码4】:
System.out.println("IamC");
2.模板代码
模板1:
Hello.java
publicclassMainClass
{
publicstaticvoidmain(Stringargs[])
{
【代码1】//命令行窗口输出"你好,只需编译我"
Aa=newA();
a.fA();
Bb=newB();
b.fB();
}
}
模板2:
A.java
publicclassA
{
voidfA()
{
【代码2】//命令行窗口输出"IamA"
}
}
模板3:
B.java
publicclassB
{
voidfB()
{
【代码3】//命令行窗口输出"IamB"
}
}
模板4:
C.java
publicclassC
{
voidfC()
{
【代码4】//命令行窗口输出"IamC"
}
}
上机实践2基本数据类型与控制语句
实验1输出希腊字母表
1.答案:
【代码1】:
startPosition=(int)cStart;
【代码2】:
endPosition=(int)cEnd;
【代码3】:
c=(char)i;
2.模板代码
GreekAlphabet.java
publicclassGreekAlphabet
{
publicstaticvoidmain(Stringargs[])
{
intstartPosition=0,endPosition=0;
charcStart='α',cEnd='ω';
【代码1】//cStart做int型转换据运算,并将结果赋值给startPosition
【代码2】//cEnd做int型转换运算,并将结果赋值给endPosition
System.out.println("希腊字母\'α\'在unicode表中的顺序位置:
"+(int)c);
System.out.println("希腊字母表:
");
for(inti=startPosition;i<=endPosition;i++)
{
charc='\0';
【代码3】//i做char型转换运算,并将结果赋值给c
System.out.print(""+c);
if((i-startPosition+1)%10==0)
System.out.println("");
}
}
}
实验2回文数
1.答案:
【代码1】:
number<=99999&&number>=1
【代码2】:
d5=number/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==d3
2.模板代码
Number.java
importjavax.swing.JOptionPane;
publicclassNumber
{
publicstaticvoidmain(Stringargs[])
{
intnumber=0,d5,d4,d3,d2,d1;
Stringstr=JOptionPane.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.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
elseif(【代码7】)//判断number是4位数的条件
{
System.out.println(number+"是4位数");
if(【代码8】)//判断number是回文数的条件码
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
elseif(【代码9】)//判断number是3位数的条件
{
System.out.println(number+"是3位数");
if(【代码10】)//判断number是回文数的条件
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
elseif(d2!
=0)
{
System.out.println(number+"是2位数");
if(d1==d2)
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
elseif(d1!
=0)
{
System.out.println(number+"是1位数");
System.out.println(number+"是回文数");
}
}
else
{
System.out.printf("\n%d不在1至99999之间",number);
}
}
}
实验3猜数字游戏
1.答案:
【代码1】:
yourGuess!
=realNumber
【代码2】:
yourGuess>realNumber
【代码3】:
yourGuess2.模板代码
GuessNumber.java
importjavax.swing.JOptionPane;
publicclassGuessNumber
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("给你一个1至100之间的整数,请猜测这个数");
intrealNumber=(int)(Math.random()*100)+1;
intyourGuess=0;
Stringstr=JOptionPane.showInputDialog("输入您的猜测:
");
yourGuess=Integer.parseInt(str);
while(【代码1】)//循环条件
{
if(【代码2】)//条件代码
{
str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:
");
yourGuess=Integer.parseInt(str);
}
elseif(【代码3】)//条件代码
{
str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:
");
yourGuess=Integer.parseInt(str);
}
}
System.out.println("猜对了!
");
}
}
上机实践3类与对象
实验1三角形、梯形和圆形的类封装
1.答案:
【代码1】:
sideA=a;
sideB=b;
sideC=c;
【代码2】:
a+b>c&&a+c>b&&c+b>a
【代码3】:
boo=true;
【代码4】:
boo=false;
【代码5】:
if(boo)
{
length=sideA+sideB+sideC;
returnlength;
}
else
{
System.out.println("不是一个三角形,不能计算周长");
return0;
}
【代码6】:
sideA=a;sideB=b;sideC=c;
【代码7】:
a+b>c&&a+c>b&&c+b>a
【代码8】:
boo=true;
【代码9】:
boo=false;
【代码10】:
above=a;
bottom=b;
height=h;
【代码11】:
area=(above+bottom)/2*height;
returnarea;
【代码12】:
radius=r;
【代码13】:
return3.14*radius*radius;
【代码14】:
return3.14*2*radius;
【代码15】:
circle=newCircle(10);
【代码16】:
trangle=newTrangle(3,4,5);
【代码17】:
lader=newLader(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.模板代码
AreaAndLength.java
classTrangle
{
doublesideA,sideB,sideC,area,length;
booleanboo;
publicTrangle(doublea,doubleb,doublec)
{
【代码1】//参数a,b,c分别赋值给sideA,sideB,sideC
if(【代码2】)//a,b,c构成三角形的条件表达式
{
【代码3】//给boo赋值。
}
else
{
【代码4】//给boo赋值。
}
}
doublegetLength()
{
【代码5】//方法体,要求计算出length的值并返回
}
publicdoublegetArea()
{
if(boo)
{
doublep=(sideA+sideB+sideC)/2.0;
area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
returnarea;
}
else
{
System.out.println("不是一个三角形,不能计算面积");
return0;
}
}
publicvoidsetABC(doublea,doubleb,doublec)
{
【代码6】//参数a,b,c分别赋值给sideA,sideB,sideC
if(【代码7】)//a,b,c构成三角形的条件表达式
{
【代码8】//给boo赋值。
}
else
{
【代码9】//给boo赋值。
}
}
}
classLader
{
doubleabove,bottom,height,area;
Lader(doublea,doubleb,doubleh)
{
【代码10】//方法体,将参数a,b,c分别赋值给above,bottom,height
}
doublegetArea()
{
【代码11】//方法体,,要求计算出area返回
}
}
classCircle
{
doubleradius,area;
Circle(doubler)
{
【代码12】//方法体
}
doublegetArea()
{
【代码13】//方法体,要求计算出area返回
}
doublegetLength()
{
【代码14】//getArea方法体的代码,要求计算出length返回
}
voidsetRadius(doublenewRadius)
{
radius=newRadius;
}
doublegetRadius()
{
returnradius;
}
}
publicclassAreaAndLength
{
publicstaticvoidmain(Stringargs[])
{
doublelength,area;
Circlecircle=null;
Trangletrangle;
Laderlader;
【代码15】//创建对象circle
【代码16】//创建对象trangle。
【代码17】//创建对象lader
【代码18】//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
System.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】:
floata;
【代码2】:
staticfloatb;
【代码3】:
this.a=a;
【代码4】:
this.b=b;
【代码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.java
classA
{
【代码1】//声明一个float型实例变量a
【代码2】//声明一个float型类变量b,即static变量b
voidsetA(floata)
{
【代码3】//将参数a的值赋值给成员变量a
}
voidsetB(floatb)
{
【代码4】//将参数b的值赋值给成员变量b
}
floatgetA()
{
returna;
}
floatgetB()
{
returnb;
}
voidinputA()
{
System.out.println(a);
}
staticvoidinputB()
{
System.out.println(b);
}
}
publicclassExample
{
publicstaticvoidmain(Stringargs[])
{
【代码5】//通过类名操作类变量b,并赋值100
【代码6】//通过类名调用方法inputB()
Acat=newA();
Adog=newA();
【代码7】//cat象调用方法setA(inta)将cat的成员a的值设置为200
【代码8】//cat调用方法setB(intb)将cat的成员b的值设置为400
【代码9】//dog象调用方法setA(inta)将dog的成员a的值设置为150
【代码10】//dog调用方法setB(intb)将dog的成员b的值设置为300
【代码11】//cat调用inputA()。
【代码12】//cat调用inputB()。
【代码13】//dog调用inputA()。
【代码14】//dog调用inputB()。
}
}
实验3使用package语句与import语句
1.答案:
无
2.模板代码
SquareEquation.java
packagetom.jiafei;
publicclassSquareEquation
{
doublea,b,c;
doubleroot1,root2;
booleanboo;
publicSquareEquation(doublea,doubleb,doublec)
{
this.a=a;
this.b=b;
this.c=c;
if(a!
=0)
{
boo=true;
}
else
{
boo=false;
}
}
publicvoidgetRoots()
{
if(boo)
{
System.out.println("是一元2次方程");
doubledisk=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,%f\n",root1,root2);
}
else
{
System.out.printf("方程没有实根\n");
}
}
else
{
System.out.println("不是一元2次方程");
}
}
publicvoidsetCoefficient(doublea,doubleb,doublec)
{
this.a=a;
this.b=b;
this.c=c;
if(a!
=0)
{
boo=true;
}
else
{
boo=false;
}
}
}
SunRise.java
importtom.jiafei.*;
classSunRise
{
publicstaticvoidmain(Stringargs[])
{
SquareEquationequation=newSquareEquation(4,5,1);
equation.getRoots();
equation.setCoefficient(-3,4,5);
equation.getRoots();
}
}
上机实践4继承与接口
实验1继承
1.答案:
【代码1】:
publicvoidspeakHello()
{
System.out.println("你好,吃饭了吗?
");
}
【代码2】:
publicvoidaverageHeight()
{
height=173;
System.out.println("中国人的平均身高:
"+height+"厘米");