4.2上机练习
1. 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。(知识点:循环语句、条件语句)
package test; import java.util.Scanner; public class Now1 { public static void main(String[] args) { int x=0; //定义水仙花个数 System.out.println("所有水仙花数为: "); for(int i=100;i<1000;i++) { int b=i/100; //取得百位数 int s=i/10%10; //取得十位数 int g=i%10; //取得个位数 if(i==g*g*g+s*s*s+b*b*b) { x++; //每次符合水仙花数条件,则x+1; System.out.println(i+" "); } }System.out.println(); //换行 System.out.println("水仙花总共有"+x+"个"); } }

2.在控制台输出以下图形(知识点:循环语句、条件语句)

package test; import java.util.Scanner; public class Now1 { public static void main(String[] args) { for(int i=1;i<=6;i++) { for(int j=1;j<=i;j++) { System.out.print(j); } System.out.println(); }
System.out.println(" ");
for(int i=6;i>=1;i--) { for(int j=1;j<=i;j++) { System.out.print(j); } System.out.println(); } for(int i=1;i<=6;i++) { for(int j = 1;j<= 2 * (6 - i);j++) System.out.print(" "); for(int j = i;j >= 1;j--) System.out.print( j);\
System.out.println("\t"); }
System.out.println(" ");
for(int i=6;i>=1;i--) { for(int j = 1;j<= 2 * (6 - i);j++) System.out.print(" "); for(int j =1;j<=i;j++) System.out.print( j); System.out.println("\t"); } } }




3. 输入年月日,判断这是这一年中的第几天(知识点:循环语句、条件语句)
package test; import java.util.Scanner; public class Now1 { public static void main(String[] args) { Scanner in=new Scanner(System.in); System.out.println("请输入年份: "); int year=in.nextInt(); System.out.println("请输入月份: "); int month=in.nextInt(); System.out.println("请输入天数: "); int day=in.nextInt(); int x=0; //统计输入月份之前的天数 for(int i=1;i<=month;i++) { switch(i) { case 4: case 6: case 9: case 11: x +=30; break; case 2: if(year%4==0&&year%100!=0||year%400==0) x +=29; else x +=28; break; default: x +=31; break; } } x +=day; System.out.println("该天是"+year+"年"+month+"月"+"第"+day+"天"); } }

4.由控制台输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321(知识点:循环语句、条件语句)
package test; import java.util.Scanner; public class Now1 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int a,b,c,d,h; System.out.println("请输入一个四位数: "); int n=in.nextInt(); a=n/1000; //取得千位数 b=n/100%10; //取得百位数 c=n/10%10; //取得十位数 d=n%10; //取得个位数 h=d*1000+c*100+b*10+a; System.out.println("反转后数为: "+h); } }


浙公网安备 33010602011771号