第五周作业

1. 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。(知识点:循环语句、条件语句) 1 package li

 3 public class Test05 {

 4 
 5  public static void main(String[] args) {
 6   // TODO Auto-generated method stub
 7   /*打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
 8    * 例如:153是一个"水仙花数",
 9    * 因为153=1的三次方+5的三次方+3的三次方。(知识点:循环语句、条件语句)
10    */
11   for (int i = 100; i <= 999; i++) {
12    int ge = i % 10;
13    int shi = i / 10 % 10;
14    int bai = i / 100;
15    if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
16     System.out.println("100-1000的水仙花数为:" + i);
17    }
18   }

19
20  }
21 
22 }

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

package li;

public class Test05 {

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(); }
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;i<=ji;j++) {
    System.out.print(j);
   }
   System.out.println();
  }
for (int i = 6; i >= 1; i--) {
   for (int j = 1; i <= j; j++) {
    System.out.print(j);
   }
   System.out.println();
  }

3. 输入年月日,判断这是这一年中的第几天(知识点:循环语句、条件语句

package li;

import java.util.Scanner;

public class Test05{

    public static void main(String[] args) {
        int year;
        int mouth;
        int day = 0;
        int days;
        int d = 0; // 累计天数
        int e = 0;
        Scanner scanner = new Scanner(System.in);
        
        //判断输入的年份和月份和日期是否错误
        do {
            System.out.println("输入年:");
            year = scanner.nextInt();
            System.out.println("输入月:");
            mouth = scanner.nextInt();
            System.out.println("输入日:");
            days = scanner.nextInt();
            if (year < 0 || mouth < 0 || mouth > 12 || days < 0 || days > 31) {
                System.out.println("input error!");
                e = 1;
            }
        } while (e == 1);
        
        for (int i = 1; i < mouth; i++) {
            switch (i) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12: {
                day = 31;
                break;
            }
            case 4:
            case 6:
            case 9:
            case 11: {
                day = 30;
                break;
            }
            case 2: {
                if ((year % 100 != 0 && year % 4 == 0) || (year % 100 == 0 && year % 400 == 0)) {
                    day = 29;
                } else {
                    day = 28;
                }
            }
            default:
                break;
            }
            d += day;
        }
        System.out.println("这是" + year + "年的" + (d + days) + "天");
    }
}

 

 

 

4.由控制台输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321

package li;

import java.util.Scanner;

public class Test05 {
public static void main(String[] args) {
int a, b, c, d, e, x;

Scanner sc = new Scanner(System.in);
System.out.println("输入数字:");
e = sc.nextInt();

a = e / 1000;
b = e / 100 % 10;
c = e / 10 % 10;
d = e % 10;
x = d * 1000 + c * 100 + b * 10 + a;

System.out.println("反转后数为:" + x);
 }

}

 

posted @ 2020-04-02 11:47  南柯nanke  阅读(150)  评论(0编辑  收藏  举报