想要快速地掌握知識(shí),最簡單的方法就是多做練習(xí),多做多練,在腦子里留下深刻的印象。下面,我將和大家分享幾道關(guān)于 Java 循環(huán)練習(xí)的題目,希望能夠?qū)Υ蠹业膶W(xué)習(xí)有所幫助!
1.求水仙花數(shù)
打印出所有的"水仙花數(shù)",所謂"水仙花數(shù)"是指一個(gè)三位數(shù),
其各位數(shù)字立方和等于該數(shù)本身。
例如:153是一個(gè)"水仙花數(shù)",
因?yàn)?53=1的三次方+5的三次方+3的三次方。
//第一題,水仙花數(shù)
public class demo4 {
public static void main(String[] args) {
System.out.println("1000以內(nèi)的數(shù)字");
int u=0;
for(int i=100;i<=999;i++) {
int a=i/100; //百
int b=i/10%10;//十
int c=i%10; //個(gè)
u=a*a*a+b*b*b+c*c*c;
if(u==i)
System.out.println(i+"是水仙花數(shù)");
}
}
}
運(yùn)行結(jié)果如下:
2.求1~1000內(nèi)的所有完數(shù)
一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為"完數(shù)"。
例如6=1+2+3.編程找出1000以內(nèi)的所有完數(shù)
//第二題 完數(shù)
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~它本身的數(shù)
sum+=j;
}
}
if(sum==i) {
System.out.println(i);
}
}
}
}
剛開始想的有點(diǎn)多,還先判斷了i是否為質(zhì)數(shù)才做第二個(gè)循環(huán)哈哈,問題不大…
運(yùn)行結(jié)果如下:
3.有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無重復(fù)數(shù)字的 三位數(shù)?都是多少?
//第四題,四個(gè)數(shù)的排列組合
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);
}
}
}
}
}
運(yùn)行結(jié)果如下(24個(gè)):
4、根據(jù)輸入成績輸出不同等級(jí)
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.輸入一批整數(shù),使用循環(huán)求出最大值與最小值,輸入0時(shí)結(jié)束
Version 1:
package javalearning.kkb7oob2.Question;
import java.awt.*;
import java.util.Scanner;
/**
* @author chenxu
* @date 2020/10/20 - 14:31
*/
//2.輸入一批整數(shù),使用循環(huán)求出最大值與最小值,輸入0時(shí)結(jié)束
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+"個(gè)數(shù)字是:");
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+"個(gè)數(shù)字是:");
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;
}
}
}
}
總結(jié)
到此這篇關(guān)于 java 循環(huán)練習(xí)題的文章就介紹到這了,更多相關(guān) java 其他基礎(chǔ)知識(shí)的練習(xí)題內(nèi)容請(qǐng)搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,也希望大家以后多多支持!