length();j++)
{
for(inti=0;i〈29;i++)
{
if(str.charAt(j)==zimu[i])
{
System.out。
println(zimu[i+3]);
break;
}
}
}
7。
编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词。
例如:
1转换成Monday,7转换成Sunday.
importjava。
util.Scanner;
publicclassProg7{
publicstaticvoidmain(String[]args){
System.out.print("请输入任意一个1~7之间的整数\n");
Scannercin=newScanner(System。
in);
intm=cin。
nextInt();
if(m==1)
System。
out。
print(”Monday”);
else
if(m==2)
System.out。
print(”Tuesday");
else
if(m==3)
System.out.print(”Wensday");
else
if(m==4)
System.out.print(”Thuesday");
else
if(m==5)
System.out。
print(”Friday");
else
if(m==6)
System。
out。
print("Saturday");
else
System.out.print("Sunday”);
}
}
8.输入三角形的三边a,b,c,判断能否构成三角形.若能,计算面积.
importjava.util.Scanner;
publicclassProg8{
publicstaticvoidmain(String[]args){
System。
out。
print("请输入三个整数\n”);
Scannercin=newScanner(System.in);
inta=cin.nextInt();
intb=cin。
nextInt();
intc=cin.nextInt();
if(a+b〈c||a+c
{
System。
out.print(”不能构成三角形\n”);
}
else
{
intl=a+b+c;
System.out。
print(l);
}
}
}
9。
编程序,输入a,b,c,求方程ax2+bx+c=0的解。
importjava。
util.Scanner;
publicclassProg9{
publicstaticvoidmain(String[]args){
System。
out.print("请输入三个整数\n");
Scannercin=newScanner(System。
in);
inta=cin。
nextInt();
intb=cin.nextInt();
intc=cin。
nextInt();
if(a==0)
{
System.out。
println(-c/b);
}
elseif(b*b—4*a*c〉=0)
{
doublex1=(-b+Math。
pow(1/2,b*b-4*a*c))/(2*a);
doublex2=(-b—Math。
pow(1/2,b*b-4*a*c))/(2*a);
System.out。
println(x1);
System。
out。
print(x2);
}
elseSystem。
out。
print("无解");
}
}
10。
计算出前20项fibonacci数列,要求一行打印5个数.
一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。
如果所有兔都不死,那么一年以后可以繁殖多少对兔子?
我们不妨拿新出生的一对小兔子分析一下:
第一个月小兔子没有繁殖能力,所以还是一对;
两个月后,生下一对小兔总数共有两对;
三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对;
……
依次类推可以列出下表:
经过月数
0
1
2
3
4
5
6
7
8
9
10
11
12
幼仔对数
0
1
1
2
3
5
8
13
21
34
55
89
144
成兔对数
1
1
2
3
5
8
13
21
34
55
89
144
233
总体对数
1
2
3
5
8
13
21
34
55
89
144
233
377
importjava。
util。
Scanner;
publicclassProg10{
publicstaticvoidmain(String[]args){
Scannercin=newScanner(System。
in);
intn=cin.nextInt();
inta=0,b=1,c=1;
if(n==1){System。
out。
println(a);
System。
out.println(b);
System。
out。
println(c);}
else
{
for(inti=2;i〈=n;i++)
{
a=b;
b=c;
c=a+b;
}
System。
out。
println(”幼崽数"+a+"成年兔子书"+b+"总数"+c);
}
}
}
11.输出100~10000之间个位数为3的所有素数。
publicclassProg11{
publicstaticvoidmain(String[]args){
for(inti=103;i<10000;i=i+10)
{
booleanflag=true;
for(intj=2;j
{
if(i%j==0)
{flag=false;break;}
}
if(flag==true){System.out.println(i);}
}
}
}
12。
百钱买百鸡问题:
公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元买一百只鸡有几种买法。
publicclassProg12{
publicstaticvoidmain(String[]args){
intm=0;
for(inta=0;a<100;a++)
{
for(intb=0;b〈100;b++)
{
for(intc=0;c〈100;c++)
if(5*a+3*b+1/3*c==100&&a+b+c==100)
m++;
}
}
System.out。
print(”一百元买一百只鸡有”+m+"种买法");
}
}
13.请编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和.
importjava。
util.Scanner;
publicclassProg13{
publicstaticvoidmain(String[]args){
System.out.print(”请输入两个整数\n");
Scannercin=newScanner(System。
in);
inta=cin。
nextInt();
intb=cin.nextInt();
if(a*a+b*b〉100)
{
System.out.print(a*a+b*b);
}
else
System。
out。
print(a+b);
}
}
14。
编程实现:
对键盘输入的任意一个四位正整数,计算各位数字平方和。
如:
2345,则:
计算22+32+42+52
importjava。
util.Scanner;
publicclassProg14{
publicstaticvoidmain(String[]args){
System.out.print("请输入任意一个四位正整数\n");
intsum=0;
Scannercin=newScanner(System.in);
inta=cin.nextInt();
sum=(a/1000*a/1000)+((a/100)%10*(a/100)%10)+((a/10%100%10)*(a/10%100%10))+((a%10)*(a%10));
System。
out.print(sum);
}
}
15.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完,请编程。
publicclassProg15{
publicstaticvoidmain(String[]args){
intm=0,sum=1020;
do{
sum=sum/2—2;
m++;
}while(sum〉=0);
System。
out。
print(m+”天以后能卖完");
}
}
16.编程,输出200以内所有完全平方数C(满足C2=A2+B2)及其个数.
publicclassProg16{
publicstaticvoidmain(String[]args){
intm=0;
for(intC=1;C〈200;C++)
{
for(intA=1;A〈=200;A++)
{
for(intB=1;B〈=200;B++)
{
if(A*A+B*B==C*C)
{System。
out。
println(C);
A=201;
B=201;
m++;}
}
}
}
System.out。
println(”个数为:
"+m);
}
}
17.设N是一个四位数,它的9倍恰好是其反序数(例如:
123的反序数是321),编程,输出所有满足条件的N。
packageeasy;
publicclassThe17{
staticlongs,M;
publicstaticvoidmain(String[]args){
for(longN=1009;N〈=1109;N=N+10){
M=9*N;
s=0;
while(M〉0){
s=s*10+M%10;
M=M/10;
}
if(N==s)
System.out。
println(s);
}
}
}
18。
编程,输出555555的约数中最大的三位数.
packageeasy;
publicclassThe18th{
publicstaticvoidmain(String[]args){
doublea=555555;
longb=0;
//long[]yueShu=newlong[555555];
for(longi=1;i<=555555;i++){
if(a%i==0&&i>99&&i<1000){
while(i>b){
b=i;
}
}
}
System.out。
println(b);
}
}
19.编程,输出所有个位数为6且能被31整除的五位数及其个数.
packageeasy;
publicclassThe19th{
publicstaticvoidmain(String[]args){
for(longi=10006;i〈=99996;i=i+10){
if(i%31==0){
System。
out。
println(i);
}
}
}
}
20.编写程序,输入两个整数,和+、—、*、/、%之中的任意一个运算符,输出计算结果。
packageeasy;
//importjava。
util。
InputMismatchException;
importjava。
util.Scanner;
publicclassThe20th{
staticScannercin=newScanner(System.in);
publicstaticvoidmain(String[]args){
Scannercin1=newScanner(System.in);
intd1,d2;
Stringstr=newString("”);
d1=cin.nextInt();
d2=cin.nextInt();
//System。
out。
println(d1);
//System。
out。
println(d2);
str=cin1。
nextLine();
//System。
out.println(str);
//System。
out.println(str.charAt(0));
switch(str。
charAt(0)){
case’+':
{
System.out.println(d1+d2);
break;
}
case'-’:
{
System。
out。
println(d1—d2);
break;
}
case’*':
{
System。
out.println(d1*d2);
break;
}
case'/’:
{
System。
out。
println(d1/d2);
break;
}
}
}
/*staticintadd(inta,intb){
returna+b;
}
staticintsub(inta,intb){
returna—b;
}
staticintmultiply(inta,intb){
returna*b;
}
staticintdivide(inta,intb){
return(int)(a/b);
}*/
}
21.计算:
1+1/(1+2)+1/(1+2+3)+…+1/(1+2+…+n),n由键盘输入。
packageeasy;
importjava.util.Scanner;
publicclassThe21th{
publicstaticvoidmain(String[]args){
doublesum=0,div=0;
Scannercin=newScanner(System。
in);
intn=cin.nextInt();
for(inti=1;i<=n;i++){
div=div+i;
System.out.println(”1/”+div);
sum=sum+1/div;
}
System.out。
println(sum);
}
}
22。
编程计算:
1*2*3+3*4*5+…+99*100*101的值.
packageeasy;
publicclassThe22th{
publicstaticvoidmain(String[]args){
longsum=0;
for(inti=1;i+2〈=101;i=i+2){
sum=sum+i*(i+1)*(i+2);
}
System.out。
println(sum);
}
}
二、比较简单问题:
1。
编一个函数GCD,求两个无符号整数的最大公约数。
主函数输入两个正整数m和n,调用GCD,求出m和n的最大公约数和最小公倍数.并输出。
packagemoreEasy;
importjava。
util.Scanner;
publicclassThe1th{
publicstaticvoidmain(String[]args){
Scannercin=newScanner(System。
in);
intm=cin。
nextInt();
intn=cin.nextInt();
System。
out.println(m+”和”+n+”的最大公约数为:
”+GCD(m,n));
System.out。
println(m+”和”+n+”的最小公倍数为:
"+m*n/GCD(m,n));
}
publicstaticintGCD(inta,int