第五周上机作业
1. 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。(知识点:循环语句、条件语句)
package chap1; import java.util.Scanner; public class Main { public static void main(String[] args){ int z=100,a,b,c,n=1; for(;z<1000;z++) { a=z%10; b=z/10%10; c=z/100; if(z==a*a*a+b*b*b+c*c*c) { System.out.println("第"+n+"个水仙花数是"+z); n++; } } } }
2.在控制台输出以下图形(知识点:循环语句、条件语句)
public class demo3{
public static void main(String[] args) {
for(int i=1;i<=7;i++) {
for(int j=1;j<i;j++) {
System.out.print(j);
}
System.out.println();
}
}
}
package chap1; import java.util.*; public class Main { public static void main(String[] args) { for(int i=6;i>=0;i--) { for(int j=1;j<=i;j++) { System.out.print(j); } System.out.println(); } } }
package chap1; import java.util.*; public class Main { public static void main(String[] args) { for(int n=6;n>=0;n--) { for(int j=1;j<=n;j++) { System.out.print(j); } System.out.println(); } }
3. 输入年月日,判断这是这一年中的第几天(知识点:循环语句、条件语句)
package chap1; import java.util.Scanner; public class Main { public static void main(String[] args){ int allday = 0; int[] days = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; Scanner read = new Scanner(System.in); System.out.print("请输入年月日:"); String dateStr = read.next(); String[] dateInt = dateStr.split("/"); int year = Integer.parseInt(dateInt[0]); int month = Integer.parseInt(dateInt[1]); int day = Integer.parseInt(dateInt[2]); for (int i = 0; i < month - 1; i++) { allday += days[i]; } allday += day; if ((((year % 4 == 0 && year % 100 == 0) || year % 400 == 0) && month > 2)) { allday++; } System.out.println(month + "月" + day + "是" + year + "年的第" + allday + "天"); } }
4.由控制台输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321(知识点:循环语句、条件语句)
package chap1; import java.util.*; public class Main { public static void main(String[] args){ System.out.println("请输入一个整数:"); Scanner input = new Scanner(System.in); int num=input.nextInt(); int result=0; while(true) { int n=num%10; result=result*10+n; num=num/10; if(num==0) { break; } } System.out.println(result); } }