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(" ");
}
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(" ");
}
}
}
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);
}
}