幾道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