好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

几道java循环练习题(适合新人)

1.求水仙花数

打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,

其各位数字立方和等于该数本身。

例如:153是一个"水仙花数",

因为153=1的三次方+5的三次方+3的三次方。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

//第一题,水仙花数

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以内的所有完数

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

//第二题 完数

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个数字,能组成多少个互不相同且无重复数字的 三位数?都是多少?

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

//第四题,四个数的排列组合

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、根据输入成绩输出不同等级

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

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时结束

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

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循环练习题内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

原文链接:https://blog.csdn.net/qq_45411727/article/details/115530244

查看更多关于几道java循环练习题(适合新人)的详细内容...

  阅读:15次