Java练习题8.1

    科技2022-08-04  106

    Java练习题8.1

    1、输入6个整数,求出它们的和以及最大值并输出。

    package com.shangjiti.aoian; import java.util.Scanner; public class Ex1 { public static void main(String[] args) { System.out.println("请输入6个整数:"); Scanner sc=new Scanner(System.in); int n1=sc.nextInt(); int n2=sc.nextInt(); int n3=sc.nextInt(); int n4=sc.nextInt(); int n5=sc.nextInt(); int n6=sc.nextInt(); int sum,max=n1; sum=n1+n2+n3+n4+n5+n6; if(n2>max) max=n2; if(n3>max) max=n3; if(n4>max) max=n4; if(n5>max) max=n5; if(n6>max) max=n6; System.out.println("sum="+sum+"max="+max); } }

    2、输入一个三位的整数,判断其是否为水仙花数,如果是,则将该数输出。

    package com.shangjiti.aoian; import java.util.Scanner; public class Ex2 { public static void main(String[] args) { System.out.println("请输入一个三位整数:"); Scanner sc = new Scanner(System.in); int i = sc.nextInt(); int b = i/100%10; int s = i/10%10; int g = i/1%10; if(g*g*g+s*s*s+b*b*b==i) { System.out.println(i+"是水仙花数"); } else { System.out.println(i+"不是水仙花数"); } } }

    3、输出1000以内所有的水仙花数。

    package com.shangjiti.aoian; public class Ex3 { public static void main(String[] args) { int i; int ge,shi,bai; for(i=100;i<=1000;i++) { ge=i%10; shi=i/10%10; bai=i/100; if(bai*bai*bai+shi*shi*shi+ge*ge*ge==i) System.out.println(i); } } }

    4、输入一个整数,判断其是否是完数,如果是,则输出YES,否则输出NO。 (提示:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3)

    package com.shangjiti.aoian; import java.util.Scanner; public class Ex4 { public static void main(String[] args) { System.out.println("请输入一个正整数:"); Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int i; int sum=0; for(i=1;i<n;i++) { if(n%i==0) { sum=sum+i; } } if(n==sum) { System.out.println("YES"); } else { System.out.println("NO"); } } }

    5、输出1000以内的所有完数。

    package com.shangjiti.aoian; public class Ex5 { public static void main(String[] args) { int i,n,sum; for(n=1;n<=1000;n++) { sum=0; for(i=1;i<n;i++) { if(n%i==0) sum=sum+i; } if(sum==n) System.out.println(n); } } }

    6、输入一个大于3的整数,判断其是否为素数,输出判断结果“YES”或“NO”

    package com.shangjiti.aoian; import java.util.Scanner; public class Ex6 { public static void main(String[] args) { System.out.println("请输入1个大于3的整数:"); Scanner sc=new Scanner(System.in); int num=sc.nextInt(); int a=0; int i; for(i=2;i<num;i++) { if(num%i==0) { a++; } } if(a==0) { System.out.println("YES"); } else { System.out.println("NO"); } } }

    7、输出200-300之间所有的素数

    package com.shangjiti.aoian; public class Ex7 { public static void main(String[] args) { int i,n; for(i=200;i<=300;i++) { for(n=2;n<i;n++) { if(i%n==0) break; } if(n==i) System.out.println(n); } } }

    第二部分:循环结构的应用:

    1、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?

    package com.shangjiti.aoian; public class Ex8 { public static void main(String[] args) { int i; double h=50,s=100; for(i=2;i<=10;i++) { s=s+2*h; h=h/2; } System.out.println("第十次反弹高度为:"+h); System.out.println("第10次落地共经过的米数:"+s); } }

    2、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

    package com.shangjiti.aoian; public class Ex9 { public static void main(String[] args) { int day,s=1; for(day=9;day>0;day--) { s=2*(s+1); } System.out.println("第一天共摘了"+s+"个桃子"); } }

    3、两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比的名单,a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单

    package com.shangjiti.aoian; public class Ex10 { public static void main(String[] args) { char i,j,k; for(i='x';i<='z';i++) { for(j='x';j<='z';j++) { if(i!=j) { for(k='x';k<='z';k++) { if(i!=k&&j!=k) { if(i!='x'&&k!='x'&&k!='z') { System.out.println("a与"+i); System.out.println("b与"+j); System.out.println("c与"+k); } } } } } } } }

    能力不足,水平有限,如有错误,感谢指正

    Processed: 0.010, SQL: 8