java2简明教程部分课后复习题答案.docx
- 文档编号:10577769
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:38
- 大小:130.48KB
java2简明教程部分课后复习题答案.docx
《java2简明教程部分课后复习题答案.docx》由会员分享,可在线阅读,更多相关《java2简明教程部分课后复习题答案.docx(38页珍藏版)》请在冰点文库上搜索。
java2简明教程部分课后复习题答案
JAVA2简明教程习题答案
第二章课堂习题:
publicclassMain
{
publicstaticvoidmain(String[]args){//initializationphase初始段
floatf1=2.5f;
floatf2;
inta=7;
intb=2;
intc;
//processingphase处理段f2=f1+(a/b);
终止段
的值为:
"+f2);的值为:
"+c);
c=(a/b);
//terminationphase
System.out.println("f2
System.out.println("c
}
课后习题:
2-4
(小程序部分)importjava.applet.*;importjava.awt.*;
publicclassGessextendsApplet{
publicvoidpaint(Graphicsg)
{
//3~10000中的任意数intm=20;
intn=9993;
g.drawString("本程序仅对3~10000中任意取的整数:
",80,50);g.drawString("20",80,65);
g.drawString("9993",80,80);g.drawString("进行测试!
",80,95);
while(m!
=1)就换算
{
if(m%2==0)m=m/2;
else
{
m=m*3+1;
}
while(n!
=1)就换算
{
if(n%2==0)n=n/2;
else
{
n=n*3+1;
}
}
g.drawString("20
g.drawString("9993
//假设最后得到的数一定是1,则如果不为1
//如果被2整除则为偶数,除以2
//如果不被2整除则为奇数,乘以3再加1
//假设最后得到的数一定是1,则如果不为1
//如果被2整除则为偶数,除以2
//如果不被2整除则为奇数,乘以3再加1
换算后的值为:
"+m,80,110);
换算后的值为:
"+m,80,125);
}
}
(程序部分)
importjava.io.*;//引入java.io中的所有类(含输入输出类),因为程序中要用到输入类的read()方法
publicclassMain
{
publicstaticvoidmain(String[]args)
{
byte[]buf=newbyte[50];//50个字节的数组用于存字符串Stringstr;
longm=0;
请输入3~10000中的任意整数(回车确认):
");
System.out.println("
}
1、EX_2.5
importjava.applet.Applet;
importjava.awt.*;
publicclasscompareNumbersextendsApplet{
Labell1,l2;
TextFieldin1,in2;
inta,b;
publicvoidinit(){
l1=newLabel("第一个整数:
");
l2=newLabel("第二个整数:
");in1=newTextField(8);
in2=newTextField(8);
add(l1);
add(in1);
add(l2);
add(in2);
}
publicbooleanaction(Evente,Objecto){if(e.target==in1||e.target==in2)
{
a=Integer.parseInt(in1.getText());
b=Integer.parseInt(in2.getText());
if(a==b){
showStatus("thetwonumbersareequal!
");
}elseif(a>b){showStatus(a+"islarger!
");
}else
showStatus(b+"islarger!
");
}
returntrue;
}
}
间)
测试3600次
for(inti=0;i<3600;i++)//{
//生成0~5随机数
intm=(int)(((Math.random())*6));intn=(int)(((Math.random())*6));
if((a[m]+b[n])==2)
加1
two++;
elseif((a[m]+b[n])=
=7)
加1
sev++;
elseif((a[m]+b[n])=
=12)
加1
twe++;
else
//
oth++;
}
//当相加和为2时对应计数器
//当相加和为7时对应计数器
//当相加和为12时对应计数器
当相加和为其他数时对应计数器加1
//terminationphase
终止段
//输出结果
//((float)two/3600)
为将two/3600的结果强制转换成浮点数输出,否则输出为0
System.out.println("
相加的和为2的次数是:
\t"+two
+";\t
可能性为:
\t"+((float)two/3600));
System.out.println("
相加的和为12的次数是:
\t"+twe
+";\t
可能性为:
\t"+((float)twe/3600));
System.out.println("
相加的和为7的次数是:
\t"+sev
+";\t
可能性为:
\t"+((float)sev/3600));
System.out.println("
相加的和为其他数的次数是:
\t"
+oth+";\t可能性为:
\t"+((float)oth/3600));
第三章
课堂习题
随机产生26个英文字母a-z,直到大于u为止,用while或for语气实现publicclassMain{
publicstaticvoidmain(String[]args)
{
intletter=0;
System.out.println("用while语句实现:
");while(letter<'u')
{
letter=(int)(Math.random()*26)+'a';System.out.println((char)letter);
}
System.out.println("用for语句实现:
");for(letter=97;letter<'u';letter++)
{
letter=(int)(Math.random()*26)+'a';System.out.println((char)letter);
}
}
}
课后习题
3-1
importjava.applet.Applet;
importjava.awt.*;
publicclassDisplayextendsApplet
{
Labellab;
TextFieldinput;
longnum;
longm=0;
longn=0;
inti=0;//数字个数的计数器
publicvoidinit(){
lab=newLabel("
请输入任意整数:
");//提示标签
input=newTextField(20);//
add(lab);//在网页中显示标签lab
add(input);//在网页中显示文本框
publicbooleanaction(Evente,Objecto)
{
if(e.target==input)
{
num=Long.parseLong(input.getText());//
//把得到的数倒置do
{
m=num%10;//num=num/10;//n=n*10+m;//i++;//
}while(num!
=0);
System.out.println("
//间隔加空格后输出do
{
System.out.print(""+n%10);n=n/10;
}while((i--)>1);
}returntrue;
}
}
3-2publicclassMain{
publicstaticvoidmain(String[]args)
输入文本框
字符串转换成整形
求余得最后一个数字
取整去掉最后一个数字
把倒置后的数存到n中
同时计数器自加
面是得到的结果:
"+i);
System.out.println("整数\t"+"平方\t"+"立方");
//围0~10
for(inti=0;i<=10;i++)
{
//依次打印输出整数,平方,立方System.out.println(i+"\t"+i*i+"\t"+i*i*i);
}
}
}
3-3publicclassMain
{
publicstaticvoidmain(String[]args)
{
//把图分成三部分左中右三部分打印
for(inti=0;i<5;i++)
{
//循环打印出左边部分
for(intj=0;j<=i;j++)
{System.out.print("*");
}
//循环打印出中间部分
2*i
for(intk=2*i;k<18;k++)//空格要考虑前后各少一个所以从开始
{
System.out.print("");
}
//循环打印出右边部分for(intm=0;m<=i;m++)
{System.out.print("*");
}System.out.println();
}System.out.println();
}
3-4
importjava.applet.Applet;
importjava.awt.*;
publicclassRectangleextendsApplet{
Labellab;
TextFieldinput;
intwidth;//矩形的长
请示标签
输入文本框
publicvoidinit(){
lab=newLabel("请输入矩形的长(整数):
");//
input=newTextField(20);//
add(lab);//
在网页中显示标签lab
add(input);//
在网页中显示文本框
publicbooleanaction(Evente,Objecto)
{
//当用户按下Enter时把输入的字符串转换成整形if(e.target==input)
width=Integer.parseInt(input.getText());
System.out.println("下面是得到的矩形:
");//矩形的上底
for(inti=0;i { System.out.print("*"); } //矩形的边 for(intk=0;k { System.out.println(); System.out.print("*"); //矩形的中间为空 for(intm=0;m System.out.print(""); } System.out.print("*"); } System.out.println(); //矩形的下底 for(intj=0;j { System.out.print("*"); } returntrue; } } 第四章 4-1 importjava.io.*; publicclassReverOrder { staticintx; intnum; intm; intn; //从键盘读入字符串 publicstaticStringreadString() { BufferedReaderbr InputStreamReader(System.in),1);Stringstring=""; try {string=br.readLine(); } catch(IOExceptionex) {System.out.println(ex); } returnstring; } //将读入的字符串转换为整形publicstaticintinput() { System.out.print("请输入一串数字: \t");returnInteger.parseInt(readString()); } //倒序输入的字符串 intRorder(intb) { num=b; do{ m=num%10;//num=num/10; n=n*10+m;//}while(num! =0); returnn; } //输出结果voidshow(inta) { System.out.println(" } //主方法 求余得最后一个数字 //取整去掉最后一个数字把倒置后的数存到n中 倒序输出为: \t"+a); publicstaticvoidmain(String[]args) { intvalue; ReverOrderorder=newReverOrder();x=ReverOrder.input(); value=order.Rorder(x);order.show(value);// 4-3 packagehomework4_3;importjava.io.*; publicclassCircle { staticdoubleradius;doublelength; doublearea;staticbooleancheckr; //构造函数初始化半径publicCircle(doubler) { if(r<0) //将输入的数传递给x //将x倒置 输出 checkr=false; } else { radius=r; checkr=true; } } //从键盘读入字符串 publicstaticStringreadString() { new BufferedReaderbr=newBufferedReader(InputStreamReader(System.in),1); Stringstring=""; try { string=br.readLine(); } catch(IOExceptionex) { System.out.println(ex); } returnstring; } //将读入的字符串转换为整形 publicstaticdoubleinput() { System.out.print("请输入圆的半径: \t"); returnDouble.parseDouble(readString()); } //计算圆的周长的方法 voidLength(doubler) { System.out.println("圆的周长为: \t"+Math.PI*r*2); } //计算圆的面积 voidArea(doubler) 圆的面积为: \t"+Math.PI*r*r); System.out.println(" } //主方法 publicstaticvoidmain(String[]args) { doublevalueinput; doublevaluer; Circler=newCircle(input()); //如果半径为正则求周长和面积 if(checkr) { r.Area(radius); r.Length(radius); } else System.out.println("输入圆的半径的值不能为负数! "); } } 4-4 publicclassDate { staticintyear; staticintmonth; staticintday; publicDate() { //无参数的构造函数 } //有三个参数的构造函数publicDate(intx,inty,intz){ day=x; month=y; year=z; //主方法 publicstaticvoidmain(String[]args){ year=2008; month=06; day=21; // (1)三种格式输出今天的日期 System.out.print("今天是: "); System.out.println("\t"+year+""+month+""+day); System.out.println("\t"+month+""+day+""+year); System.out.println("\t"+day+""+month+""+year); // (2)调用重载构造函数创建对象date Datedate=newDate(22,06,2008); System.out.print("\n明天是: "); System.out.println("\t"+year+""+month+""+day); System.out.println("\t"+month+""+day+""+year); System.out.println("\t"+day+""+month+""+year); } } 4-6 //基类 classbase { //方法一 voidFirst() { System.out.println("这是基类base的第一个方法! "); Second(); } //方法二 voidSecond() { System.out.println("这是基类base的第二个方法! "); } } //派生类 classderivedextendsbase { voidSecond() { System.out.println("这是派生类derived的方法! "); } } publicclassUpCasting { //主方法 publicstaticvoidmain(String[]args) { //派生类derived对象test,test对象里有覆盖了基类的Second()方法的Second()方法derivedtest=newderived(); baseup=test;//向上类型转换,基类对象up里有有First()方法和被覆盖的 Second() //baseup=newbase();//基类对象up里仅有First()方法和未被覆盖的Second() up.First();//调用基类的第一个方法 } } 第6章、Ex_6.6 importjava.util.*; publicclassText{ publicvoidcountYYZM(Stringtext){ inti=0; intcountA=0,countE=0,countI=0,countO=0,countU=0; while(i switch(text.charAt(i)){ case'a': case'A': countA++;break; case'e': case'E': countE++;break; case'i': case'I': countI++;break; case'o': case'O': countO++;break; case'u': case'U': countU++; break; } i++; } System.out.println("A,a 出现的次数为 "+countA+" 次"); System.out.println("E,e 出现的次数为 "+countE+" 次"); System.out.println("I,i 出现的次数为 "+countI+" 次"); System.out.println("O,o 出现的次数为 "+countO+" 次"); System.out.println("U,u 出现的次数为 "+countU+" 次"); System.out.println(" "); publicvoidWordLength(Stringtext){intj=0; StringBufferstr=newStringBuffer();while(j if((text.charAt(j)>='a'&&text.charAt(j)<='z') ||(text.charAt(j)>='A'&&text.charAt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java2 简明 教程 部分 课后 复习题 答案