1、java皮常德27章答案1. 角谷猜想:任何一个正整数n,如果它是偶数则除以二,如果是奇数则乘以3再加上1,这样得到一个新的整数,如此继续进行上述处理,则最后得到的数一定是1,编写应用程序和小程序分别验证:310000之间任何正整数都满足上述规则。2. 编写一个程序模拟同时掷2个骰子。程序要用()模拟产生第一个骰子,然后再产生第二个骰子,将2个结果相加。和等于7的可能性最大,等于2和12的可能性最小。 下图表示了出现36种情况组合。程序模拟掷3600次骰子,判断求和结果是否合理,共有6种情况的和是7,故在3600次掷骰子的结果中应当有1/6的可能性是7。12345612345672345678
2、3456789456789105678910116789101112一、 实验步骤:1. 应用程序:package cp2;public class a4 public static void main(String args) boolean a=true; int j; for(int i=3;i1;) if(j%2=0) j=j/2; else j=j*3+1; if(j!=1) a=false;break; 运行结果:true小程序:package cp2;import .*;import .*;public class a5 extends Applet Label lab1; Te
3、xtField input1; int num1=1; public void init() lab1=new Label(任意输入310000的一个整数); input1=new TextField(10); add(lab1); add(input1); public boolean action(Event e,Object o) num1=(); showStatus(); (); repaint(); showStatus(这个数是+num1); return true; public void paint(Graphics g) int xpos=50,ypos=50,i=0; i
4、nt xpos1=xpos; while(num1!=1) if(num1%2=0) num1=num1/2; (num1), xpos, ypos); else num1=num1*3+1; (num1), xpos, ypos); xpos=xpos+50; i+; if(i%5=0) ypos=ypos+10; xpos=xpos1; 运行结果:2.程序:package cp2;import .*;import .*;public class a6 extends Applet Label lab; TextField input; int a,b,t2,t3,t4,t5,t6,t7,t
5、8,t9,t10,t11,t12; double i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12; public void init() lab=new Label(输入次数); input=new TextField(10); add(lab); add(input); public boolean action(Event e,Object o) int time=(); showStatus(); (); showStatus(模拟次数+time); t2=t3=t4=t5=t6=t7=t8=t9=t10=t11=t12=0; for(int i=1;i=0;t-
6、) (bt),j*20-t*20,55); for(i=0;i;i+) bi=0; 运行结果:* * * * * *2:程序:package cp3;import .*;import .*;public class a6 extends Applet Label lab1,lab2; TextField input1,input2; int a,b,i; double sum=0; public class aa int mult(int n) int s=1; for(int j=1;j=n;j+) s*=j; return s; public void init() lab1=new La
7、bel(输入x大小); input1=new TextField(10); lab2=new Label(输入n值); input2=new TextField(10); add(lab1); add(input1); add(lab2); add(input2); public boolean action(Event e,Object o) a=(); b=(); (); (); showStatus(); sum=0; aa c=new aa(); for(i=0;i=b;i+) sum+=(double)(a,i)/(double)(i); showStatus(结果为+sum); r
8、eturn true; 输入x=1,n=30时的运行结果:四二、 实验内容:1. 定义一个类,它包含了一个int类型的变量x、若干个构造函数(根据你的需要)和一个输出方法show()。 编程:从键盘输入一个数,将这个数传递给这个类的x,采用方法show()逆序输出这个数。2. 定义一个整形集合类integerSet。这种类型的对象可以存储10个20至80之间的整数,即它的内部有一个整形数组存储数据。编程: (1)判断两个integerSet类对象S1和S2是否相等。提示:集合相等的前提是所有元素相等。 (2)输出两个集合对象的交集。(3)输出两个集合对象的并集。 (4)将一个整形数据插入到一个
9、集合对象中。 (5)从一个集合中删除某一个元素。三、实验步骤:1.程序 package cp4; class aa int x; aa(int n) x=n; void show() int b=0; for(;x!=0;) b=b*10+x%10; x/=10; public class a1 public static void main(String args) int value=(); aa a1=new aa(value); (); 运行结果:1234554321成功构建 (总时间: 3 秒)2.package cp4;class integer int a=new int10;
10、public void input() int i; for(i=0;i=9;i+) ai=(); if(ai=0) break; public void output() int i; for(i=0;i=9;i+) ); class uninteger int a=new int20; public void output() int i; for(i=0;i=19;i+) ); class means int i,j; public boolean eq(integer a1,integer a2) for(i=0;i=9;i+) ifi=0) break; for(j=0;j=9;j+
11、) ifj=0) break; if(i!=j) return false; else for(i=0;i=9;i+) ifi!=i) return false; return true; public void mix(integer a1,integer a2,integer mix) int t=0; for(i=0;i=9;i+) for(j=0;j=9;j+) ifi=j) t+=i; else ifij) break; public void union(integer a1,integer a2,uninteger union) int t,s; i=0; for(s=0,t=0
12、;s=9&t=9&s!=0&t!=0;) ifst) i+=t; t+; else i+=s; s+;t+; if(s=0|s9)&(t=9&t!=0) for(;t9)&(s=9&s!=0) for(;s=9;) i+=s+; public void insert(integer a1,int a) for(i=0;i=9;i+) ifi=0) break; if(i=10) 此表已满不能插入); else if(a=1;i-) i=i-1; 0=a; else if(a=i-1) i=a; else for(j=0;j+) if(a=j&aj+1;i-) i=i-1; j+1=a; 插入后
13、的表一变为:);(); public void delete(integer a2,int a) for(i=0;i=9;i+) ifi=0) break; ifa=0) 所删位置无元素); else for(j=a;ji;j+) j=j+1; 删除后的表二变为:);(); public class a5 public static void main(String args) boolean f; int a,b; integer mix=new integer(); uninteger union=new uninteger(); integer a1=new integer(); int
14、eger a2=new integer(); 请以从小到大顺序输入两组(每组个数小于11个)2080之间的整数,分别以0,0结束); (); (); 表一为:);(); 表二为:);(); means m1=new means(); f=(a1,a2); if(f) 两个集合相等); else 两个集合不相等); (a1,a2,mix); (a1,a2,union); 两个集合的交为:);(); 两个集合的并为:);(); 请输入要插入表一的整数:);a=(); (a1,a); 请输入要删除表二元素的下标:);b=(); (a2,b); *运行结果:请以从小到大顺序输入两组(每组个数小于11个
15、)2080之间的整数,分别以0,0结束2132445678800314656800表一为:21 32 44 56 78 80 0 0 0 0 表二为:31 46 56 80 0 0 0 0 0 0 两个集合不相等两个集合的交为:56 80 0 0 0 0 0 0 0 0 两个集合的并为:21 31 32 44 46 56 78 80 0 0 0 0 0 0 0 0 0 0 0 0 请输入要插入表一的整数:46插入后的表一变为:21 32 44 46 56 78 80 0 0 0 请输入要删除表二元素的下标:6所删位置无元素成功构建 (总时间: 1 分钟 38 秒)五三、 实验内容1 写一个类,
16、它具有一个protected数据成员。在同一个文件内再写第二个类,在这个类内编写一个方法, 以操作第一类内的protected数据;2. 采用public、private、protected以及友员等成员创建一个类,然后定义这个类的一个对象。观察在访问所有类成员时会出现哪种类型的编译错误。三、实验步骤 1.程序/* */package cp5;public class a4 public static void main(String args) a4_2 b=new a4_2(); (); /* */package cp5;public class a4_1 int a1=1; public
17、 int a2=1; private int a3=1; protected int a4=1; /* */package cp5;public class a4_2 a4_1 a=new a4_1(); public void datause() data=+; public data=+; 序:package cp5;class Test public String pub; private String pri; protected String prot; String fri; Test() =public; =private; =protected; =friendly; publ
18、ic class a5 public static void main(String args) Test tmp=new Test(); 运行结果;publicException in thread main Uncompilable source code - pri可以在中访问private at Result: 1成功构建 (总时间: 3 秒)六四、 实验内容:1. 编写一个采用随机函数生成句子的游戏。现有4个字符串数组:article、noun、verb、preposition,它们的内容分别是:the、a、one、some、any;boy、girl、dog、town、car;dro
19、ve、jumped、ran、walked、skipped;to、from、over、under、依照句法要求:article+noun+verb+preposition+article+noun产生20个句子。2. 从键盘输入几行文本做如下处理:(1) 显示各元音字母出现的次数。(2) 统计各个单词的长度。五、 实验步骤:1.程序package cp6;public class a3 public static void main(String args) String article=the,a,one,some,any; String noun=boy,girl,dog,town,car;
20、 String verb=drove,jumped,ran,walked,skipped; String preposition=to,from,over,under,on; for(int i=0;i=19;i+) ); ); ); ); ); 实验结果:the girl ran from one dogthe boy walked to some dogthe boy walked over the dogthe dog walked under a boysome girl ran under one boythe town ran under a towna town ran over
21、 the dogthe dog walked from some towna boy walked under a towna girl ran under the townone boy jumped from a dogone girl jumped from the townthe girl drove from one girlthe boy ran under the boythe girl walked under one dogone boy drove over a towna boy ran to a townthe town drove under the girlsome
22、 boy ran to a boysome dog jumped to some dog成功构建 (总时间: 0 秒)2.程序package cp6;class aa public void a1(String s) int i=0,j=0,t=0; int a=new int8; for(;i=()-1;) if(i)!= )i+; else break; if(i=()字母个数为+()+t); else for(i=0;i=()-1;i+) if(i)!= ); else if(a0=0&(i)= ) aj+=i-t; t=i; else aj+=i-t-1; t=i; aj=i-t-1; 字母个数分别为); for(i=0;ai!=0;i+) t); t=0; for(i=0;i=()-1;i+) if(i)=a|(i)=i|(i)=e|(i)=o|(i)=u) t+; 元音字母个数为+t); public class a6 public static void main(String args) aa a1=new aa(); 请输入几行字符串); String s1=new String(); String s2=new String(); String s3=new String
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1