幾道java循環練習題(適合新人)
1.求水仙花數
打印出所有的”水仙花數”,所謂”水仙花數”是指一個三位數,
其各位數字立方和等於該數本身。
例如:153是一個”水仙花數”,
因為153=1的三次方+5的三次方+3的三次方。
//第一題,水仙花數 public class demo4 { public static void main(String[] args) { System.out.println("1000以內的數字"); int u=0; for(int i=100;i<=999;i++) { int a=i/100; //百 int b=i/10%10;//十 int c=i%10; //個 u=a*a*a+b*b*b+c*c*c; if(u==i) System.out.println(i+"是水仙花數"); } } }
運行結果如下:
2.求1~1000內的所有完數
一個數如果恰好等於它的因子之和,這個數就稱為”完數”。
例如6=1+2+3.編程找出1000以內的所有完數
//第二題 完數 public class demo8 { public static void main(String[] args) { for(int i=2;i<=1000;i++) { int sum=0; for(int j=1;j<i;j++) { if(i%j==0) { //如果i能夠整除1~它本身的數 sum+=j; } } if(sum==i) { System.out.println(i); } } } }
剛開始想的有點多,還先判斷瞭i是否為質數才做第二個循環哈哈,問題不大…
運行結果如下:
3.有1、2、3、4個數字,能組成多少個互不相同且無重復數字的 三位數?都是多少?
//第四題,四個數的排列組合 public class demo7 { public static void main(String[] agrs) { int d = 0; for(int i=1;i<=4;i++) { for(int j=1;j<=4;j++) { for(int k=1;k<=4;k++) { d=i*100+j*10+k; if(i!=j&&j!=k&&i!=k) System.out.println(d); } } } } }
運行結果如下(24個):
4、根據輸入成績輸出不同等級
90-100 80-89 70-79 60-69 其他 package javalearning.kkb7oob2.Question; import java.util.*; /** * @author chenxu * @date 2020/10/20 - 14:07 */ public class Grade{ public static void main(String []args){ Scanner scanner = new Scanner(System.in); int points = scanner.nextInt(); int k = points/10; switch (k){ case 10: case 9: System.out.println("A"); break; case 8: System.out.println("B"); case 7: System.out.println("c"); case 6: System.out.println("D"); default: System.out.println("RUBBISH"); } } }
5.輸入一批整數,使用循環求出最大值與最小值,輸入0時結束
Version 1: package javalearning.kkb7oob2.Question; import java.awt.*; import java.util.Scanner; /** * @author chenxu * @date 2020/10/20 - 14:31 */ //2.輸入一批整數,使用循環求出最大值與最小值,輸入0時結束 public class Compare { public static void main(String[] args) { int max; int min; int kk=1; Scanner scanner = new Scanner(System.in); System.out.println("第"+1+"個數字是:"); int n = scanner.nextInt(); max=n; min=n; for (int k=2;true&&kk!=0;k++ ){//此處true&&kk!=0隻需要寫成kk!=0即可 System.out.println("第"+k+"個數字是:"); int num = scanner.nextInt(); kk=num; if (num==0){ System.out.println("最大值是"+max+"最小值是"+min); } //System.out.println("最大值是"+max+"最小值是"+min); else if (num>max){ max=num; }else if(num<min){ min=num; } } } }
總結
到此這篇關於java循環練習題的文章就介紹到這瞭,更多相關java循環練習題內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- None Found