皮德常java课后答案修正版Word格式.docx
- 文档编号:22400475
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:58
- 大小:31.31KB
皮德常java课后答案修正版Word格式.docx
《皮德常java课后答案修正版Word格式.docx》由会员分享,可在线阅读,更多相关《皮德常java课后答案修正版Word格式.docx(58页珍藏版)》请在冰豆网上搜索。
else
g.drawString(x+"
25,25+i);
i=i+15;
}
第2章习题5
2、编写一个小程序(Applet),要求输入两个整数,在状态条显示较大的数,紧跟着显示“islarger”。
若二者相等,显示“thetwonumbersareequal!
”。
程序如下:
packagejavaapplication3;
importjava.applet.*;
importjava.awt.*;
publicclassJavaApplication3extendsApplet{
Labellab1,lab2;
TextFieldinput1,input2;
intone,two;
publicvoidinit(){
lab1=newLabel("
输入第一个整数"
lab2=newLabel("
输入第二个整数"
input1=newTextField(6);
input2=newTextField(6);
add(lab1);
add(input1);
add(lab2);
add(input2);
publicbooleanaction(Evente,Objecto)
{
intmax;
if(e.target==input1||e.target==input2)
one=Integer.parseInt(input1.getText());
two=Integer.parseInt(input2.getText());
if(one==two)
showStatus("
thetwonumbersareequal!
else{
max=(one>
two)?
one:
two;
showStatus(max+"
islarger"
returntrue;
}
3、编写一个程序模拟同时掷两个骰子。
程序要用Math.random()模拟产生第一个骰子,然
后再产生第二个骰子,将两个结果相加。
相加的和等于7的可能性最大,等于2和12的可能性最小。
下图表示了出现36种情况的组合。
程序模拟掷3600次骰子,判断求和结果是否合理,共有6种情况的和是7,故在3600次掷骰子的结果中应当有1/6的可能性是7。
1
2
3
4
5
6
7
8
9
10
11
12
packagetouzi;
/**
*
*@authorAdministrator
publicclassTouzi
publicstaticvoidmain(String[]args)
doubleresult2;
doubleresult7;
doubleresult12;
intn1,n2;
inttimes2=0;
inttimes7=0;
inttimes12=0;
for(inti=0;
i<
3600;
i++)
n1=(int)(Math.random()*6+1);
n2=(int)(Math.random()*6+1);
if((n1+n2)==2)
times2++;
elseif((n1+n2)==7)
times7++;
elseif((n1+n2)==12)
times12++;
result2=times2/3600.0;
result7=times7/3600.0;
result12=times12/3600.0;
System.out.println("
和为2的次数:
"
+times2+"
比率:
+result2);
和为7的次数:
+times7+"
+result7);
和为12的次数:
+times12+"
比率:
+result12);
运行结果:
run:
83比率.023*********
552比率:
0.153********333332
105比率.029*********
成功构建(总时间:
1秒)
第3章习题1
编程:
编写一个applet,要求输入一个任意长度的整数(long类型变量所允许的范围内),将这个数分成独立的数字,并分开显示。
例如输入32439则显示32439。
packagefenkai;
publicclassFenkaiextendsApplet{
Stringstr;
TextFieldinput;
LabelLinput;
Linput=newLabel("
输入一个整数"
input=newTextField(10);
add(Linput);
add(input);
publicbooleanaction(Evente,Objecto){
if(e.target==input){
str=input.getText();
repaint();
returntrue;
publicvoidpaint(Graphicsg){
for(inti=0;
i<
str.length();
i++)
g.drawString(str.charAt(i)+"
50+i*10,50);
计算从0到10的平方和立方值。
并以如下格式显示:
数平方立方
000
111
248
3927
…………………………………
101001000
程序如下:
packagepingfanglifang;
publicclassPingfanglifangextendsApplet{
g.drawString("
整数"
20,15);
g.drawString("
平方"
80,15);
立方"
140,15);
=10;
i++){
g.drawString("
+i,20,30+i*20);
+i*i,80,30+i*20);
+i*i*i,140,30+i*20);
第3章习题3采用循环语句打印如下图形。
*
*
**
**
***
***
****
****
*****
*****
//程序清单
/*
*graph1.java
*/
publicclassgraph1{
//drawnstars
staticvoidstar(intn){for(inti=1;
=n;
i++){
System.out.print("
*"
}
}
//drawnspaces
staticvoidspace(intn){for(inti=1;
publicstaticvoidmain(String[]args){
//thelengthofspaceinti=20;
//thelengthofstarintj=1;
for(j=1;
j<
=5;
j++){star(j);
space(i);
star(j);
i-=2;
System.out.println();
第3章习题4
读取一个矩形的边长,然后输出一个空心矩形。
例如读入边长5,应当输出:
*****
/*采用小程序实现
*graph2.java
publicclassgraph2extendsApplet{
intnum;
TextFieldinput;
LabelLinput;
publicvoidinit(){
Linput=newLabel("
Enteraninteger:
input=newTextField(10);
add(Linput);
add(input);
publicbooleanaction(Evente,Objecto){
if(e.target==input)
num=Integer.parseInt(input.getText());
repaint();
returntrue;
publicvoidpaint(Graphicsg)
inti,j;
for(i=0;
num;
i++)if(i==0||i==num-1)for(j=0;
j<
j++)
g.drawString("
30+10*j,50+10*i);
else{
g.drawString("
30,50+10*i);
30+10*(num-1),50+10*i);
}
/*采用应用程序实现
*graph2_1.java
publicclassgraph2_1{
privateintnumber;
publicNO_2_4(intnumber){this.number=number;
draw(number);
//drawsquarepublicvoiddraw(intn){if(n==1)System.out.println("
else{stars(n);
for(inti=0;
n;
i++){stars
(1);
space(n-2);
stars
(1);
System.out.println();
stars(n);
//drawstars
staticvoidstars(intn){for(inti=1;
//drawspaces
staticvoidspace(intn){for(inti=1;
publicstaticvoidmain(String[]args){graph2_1temp=newgraph2_1(7);
第3章习题5
编写一个applet,输入一个数,判断输入的这个数是否为回文数。
所谓回文数就是从左向右看和从右向左看都一样。
例如:
121、13431都是回文数,而12345不是回文数。
packagehuiwen;
publicclassHuiwenextendsApplet{
TextFieldinput;
Labelmessage;
booleanb;
publicvoidinit(){
message=newLabel("
输入一个数:
input=newTextField(10);
add(message);
add(input);
publicbooleanaction(Evente,Objecto){
Stringstr;
b=true;
if(e.target==input){
str=input.getText();
for(inti=0,j=str.length()-1;
j;
i++,j--)
if(str.charAt(i)!
=str.charAt(j))
b=false;
repaint();
returntrue;
if(b)
g.drawString(input.getText()+"
是回文数"
50,100);
else
不是回文数"
编写一个applet,采用下列公式计算e^x的值:
e^x=1+(x^1)/1!
+(x^2)/2!
+…+(x^n)/n!
。
从键盘输入x和n,编程计算e^x的值。
packagejisuanex;
publicclassJisuanexextendsApplet{
doubleresult;
intx,n;
Labelexpress1=newLabel("
e的"
TextFieldfield1=newTextField(5);
Labelexpress2=newLabel("
次方:
Labelexpress3=newLabel("
输入n:
TextFieldfield2=newTextField(5);
publicvoidinit(){
add(express1);
add(field1);
add(express2);
add(express3);
add(field2);
intfactor(intm){
intt=1;
for(inti=1;
=m;
t=t*i;
returnt;
intf(intx,intm){
t=t*x;
doubletemp=1;
result=1;
x=Integer.parseInt(field1.getText());
n=Integer.parseInt(field2.getText());
for(intm=1;
m<
=n;
m++)
temp=(double)f(x,m)/factor(m);
result+=temp;
showStatus("
结果:
+result);
产生20个int类型的随机数,针对每个数使用if-then-else判断它是大于、小于或等于下一个数(注意:
最后一个数不比较)。
程序如下:
packagebijiao;
publicclassBijiao{
publicstaticvoidmain(String[]args){
intarray[]=newint[20];
20;
i++){
array[i]=((int)(Math.random()*10e6))%100;
System.out.print(array[i]+"
System.out.println();
19;
if(array[i]>
array[i+1])
第"
+i+"
个数("
+array[i]+"
)大于第"
+(i+1)+"
+array[i+1]+"
)"
elseif(array[i]<
)小于第"
else
)等于第"
定义一个类,它包含了一个int类型的变量x、若干个构造函数(根据用户自己的需要)
和一个输出方法show()。
从键盘输入一个两位以上的数,将这个数传递给这个类的变量x,采用方法show()逆序输出这个数。
packagereversenum;
publicclassReversenum{
privateintx;
Reversenum(intx){
this.x=x;
}
publicvoidshow(){
Stringstr;
str=Integer.toString(x);
chararray[]=newchar[str.length()];
array=str.toCharArray();
for(inti=str.length()-1;
i>
=0;
i--)
System.out.print(array[i]);
publicstaticvoidmain(String[]args){
Reversenumtemp=newReversenum(325425);
temp.show();
2、定义一个复数类complex,它的内部具有两个实例变量:
realPart和imagPart,分别代表复数的实部和虚部,编程实现要求的数学运算。
(1)实现两个复数相加。
复数加运算的原则是:
复数的实部和虚部分别相加。
(2)实现两个复数相减。
复数减运算的原则是:
复数的实部和虚部分别相减。
(3)输出运算结果,判断是否正确。
packagecomplex;
*@authorAdmin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 皮德常 java 课后 答案 修正