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

}

 

 

 

 

posted @ 2020-04-02 13:27  wsw4  阅读(199)  评论(0)    收藏  举报