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

网友投稿 245 2022-10-29


几道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 http://void main(String[] args) {

for(int i=2;i<=1000;i++) {

int sum=0;

for(int j=1;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=num;

}

}

}

}

总结

min=num;

}

}

}

}

总结


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:忘记grup启动程序的密码 光盘修复模式 虚拟机vmware8.04 Centos 6.3
下一篇:grub启动程序设置加密 虚拟机vmware8.0.4 CentOS 6.3
相关文章

 发表评论

暂时没有评论,来抢沙发吧~