java程序读写题.docx
《java程序读写题.docx》由会员分享,可在线阅读,更多相关《java程序读写题.docx(13页珍藏版)》请在冰点文库上搜索。
java程序读写题
1、读下列程序,写出正确的运行结果。
publicclassTest1{
Stringstr1="Hello,world!
\t";
Stringstr2="Hello,students!
";
publicstaticvoidmain(Stringargs[]){
System.out.print(str1);
System.out.println(str2);}}
更改:
publicclassTest1{
publicstaticvoidmain(Stringargs[]){
Stringstr1="Hello,world!
\t";
Stringstr2="Hello,students!
";
System.out.print(str1);
System.out.println(str2);}}
2、读下列程序,写出正确的运行结果。
publicclassTest2{
publicstaticvoidmain(String[]args){
inti,j;
charc='*';
for(i=6;i>0;i--){
for(j=0;j<=i;j++)
System.out.print("*");
System.out.println();}}}
3、读下列程序,写出正确的运行结果。
publicclassTest3{
publicstaticvoidmain(Stringarge[]){
inti=0;
for(charch=97;ch<109;ch++,i++){
if(i%4==0)
System.out.println("");
System.out.print("\t"+ch);}}}
4、读下列程序,写出正确的运行结果。
publicclassTest4{
staticintj=0,k=0;
publicstaticvoidmain(Stringargs[]){
System.out.println(mB(11));
System.out.println(j);}
staticBooleanmA(intA){
j+=A;
returntrue;}
staticBooleanmB(intk){
Booleanb;
b=k>10&mA
(1);
b=k>10&&mA
(2);
returnb;}}
5、读下列程序,写出正确的运行结果。
publicclassTest5{
publicstaticvoidmain(String[]args){
try{method();}
catch(Exceptione){System.out.println("A");}
finally{System.out.println("B");}}
staticvoidmethod(){
try{wrench();
System.out.println("C");}
catch(ArithmeticExceptione){System.out.println("D");}
finally{System.out.println("E");}
System.out.println("F");}
staticvoidwrench(){thrownewNullPointerException();}}
6、读下列程序,写出正确的运行结果。
importjava.io.*;
publicclassTest6{
publicstaticvoidmain(Stringargs[])
{int[]a={42,99,5,63,95,36,2,69,200,96};
System.out.println("排序前的数据序列:
");
ShowArray(a);
Sort(a);
System.out.println("排序后的数据序列:
");
ShowArray(a);}
publicstaticvoidSort(int[]x){
intw;
for(inti=1;ifor(intj=0;jif(x[j]>x[j+1])
{w=x[j];x[j]=x[j+1];x[j+1]=w;}
/*if(i==1||i==2)ShowArray(x);
if(i==2)break;*/
}}
publicstaticvoidShowArray(intb[]){
for(inti=0;iSystem.out.print("b[i"+i+"]="+b[i]);
System.out.println();}}
GeneralOutput:
排序前的数据序列:
b[i0]=42b[i1]=99b[i2]=5b[i3]=63b[i4]=95b[i5]=36b[i6]=2b[i7]=69b[i8]=200b[i9]=96
排序后的数据序列:
b[i0]=2b[i1]=5b[i2]=36b[i3]=42b[i4]=63b[i5]=69b[i6]=95b[i7]=96b[i8]=99b[i9]=200
程序设计题
1、输入两个正整数m和n,求其最大公约数和最小公倍数。
importjava.util.*;
publicclassTest1{
publicstaticvoidmain(String[]args){
inta,b,m;
Scanners=newScanner(System.in);
System.out.print("键入一个整数:
");
a=s.nextInt();
System.out.print("再键入一个整数:
");
b=s.nextInt();
deffcd=newdeff();
m=cd.deff(a,b);
intn=a*b/m;
System.out.println("最大公约数:
"+m);
System.out.println("最小公倍数:
"+n);
}
}
classdeff{
publicintdeff(intx,inty){
intt;
if(xt=x;
x=y;
y=t;
}
while(y!
=0){
if(x==y)returnx;
else{
intk=x%y;
x=y;
y=k;
}
}
returnx;
}
}
2、打印出1000以内所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
publicclassTest2{
publicstaticvoidmain(String[]args){
intb1,b2,b3;
for(intm=101;m<1000;m++){
b3=m/100;
b2=m%100/10;
b1=m%10;
if((b3*b3*b3+b2*b2*b2+b1*b1*b1)==m){
System.out.println(m+"是一个水仙花数");}
}
}
}
3、古典问题:
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
publicclassTest3{
publicstaticvoidmain(String[]args){
System.out.println("第1个月的兔子对数:
1");
System.out.println("第2个月的兔子对数:
1");
intf1=1,f2=1,f,M=24;
for(inti=3;i<=M;i++){
f=f2;
f2=f1+f2;
f1=f;
System.out.println("第"+i+"个月的兔子对数:
"+f2);
}
}
}
4、判断101-300之间有多少个素数,并输出所有素数。
publicclassTest4{
publicstaticvoidmain(String[]args){
intcount=0;
for(inti=101;i<200;i+=2){
booleanb=false;
for(intj=2;j<=Math.sqrt(i);j++)
{
if(i%j==0){b=false;break;}
else{b=true;}
}
if(b==true){count++;System.out.println(i);}
}
System.out.println("素数个数是:
"+count);
}
}
5、输入100以内的学习成绩,成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
importjava.util.*;
publicclassTest5{
publicstaticvoidmain(String[]args){
intx;
chargrade;
Scanners=newScanner(System.in);
System.out.print("请输入一个成绩:
");
x=s.nextInt();
grade=x>=90?
'A'
:
x>=60?
'B'
:
'C';
System.out.println("等级为:
"+grade);
}
}
6、一个数如果恰好等于它的因子之和,这个数就称为"完数"。
例如6=1+2+3,编程找出1000以内的所有完数。
publicclassTest6{
publicstaticvoidmain(String[]args){
System.out.println("1到1000的完数有:
");
for(inti=1;i<1000;i++){
intt=0;
for(intj=1;j<=i/2;j++){
if(i%j==0){
t=t+j;
}
}
if(t==i){
System.out.print(i+"");
}
}
}
}
7.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
importjava.util.*;
publicclassTest7{
publicstaticvoidmain(String[]args){
intdigital=0;
intcharacter=0;
intother=0;
intblank=0;
char[]ch=null;
Scannersc=newScanner(System.in);
System.out.print("请输入一行字符:
"+"\n");
Strings=sc.nextLine();
ch=s.toCharArray();
for(inti=0;iif(ch[i]>='0'&&ch[i]<='9'){
digital++;
}elseif((ch[i]>='a'&&ch[i]<='z')||ch[i]>'A'&&ch[i]<='Z'){
character++;
}elseif(ch[i]==''){
blank++;
}else{
other++;
}
}
System.out.println("数字个数:
"+digital);
System.out.println("英文字母个数:
"+character);
System.out.println("空格个数:
"+blank);
System.out.println("其他字符个数:
"+other);
}
}
8.随机产生一个数组,将其逆序输出。
importjava.util.*;
publicclassTest8{
publicstaticvoidmain(String[]args){
Scanners=newScanner(System.in);
inta[]=newint[10];
for(inti=0;i<10;i++)
{
a[i]=(int)(Math.random()*100);
}
System.out.println("随机产生的数组为:
");
for(intj=0;j<10;j++){
System.out.print(a[j]+"");
}
System.out.println("\n数组逆序输出为:
");
for(intj=9;j>=0;j=j-1){
System.out.print(a[j]+"");
}
}
}