第五周上机练习

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

public class ONE {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a,b,c,count=0;
        for(a=1;a<=9;a++){//a不能等于0
            for(b=0;b<=9;b++){
                for(c=0;c<=9;c++){
                    if((a*a*a+b*b*b+c*c*c)==(a*100+b*10+c)){
                        count++;
                        System.out.println("第"+count+"个水仙花数是:"+(a*100+b*10+c));
                    }
                }
            }
    }

}
}

 

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

 

package asasasda;

public class Kyo {

    public static void main(String[] args) {
                
        for(int i = 1; i <= 6; i++) {

            for(int q =1;q<=i;q++) {

                System.out.print(q);

            }

            System.out.println();

        }

         

        System.out.println("");

        for(int i = 6; i >= 1; i--) {

            for(int q =1;q<=i;q++) {

                System.out.print(q);

            }

            System.out.println();

        }

         

        for(int i=1;i<6;i++) {
            for(int k=0;k<6-i;k++) {
                System.out.print(" ");
            }
            for(int j=1;j<=i;j++) {
                System.out.print(j);
            }
            System.out.println("");
        }
    


        System.out.println("");

        for(int i=6;i>0;i--) {

            for(int k=0;k<6-i;k++) {

                System.out.print(" ");

            }

            for(int j=1;j<=i;j++) {

                System.out.print(j);

            }

            System.out.println("");

        }

 

    }

}
    

 

 

 

 

 

 

 

 

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

 

package third;
import java.util.*;
public class  dataRequire{
    public static void main(String[]args){
    int day=0;
    int month=0;
    int year=0;
    int sum=0;
    int leap;
    System.out.println("请输入年,月,日");
    Scanner input=new Scanner(System.in);
    year=input.nextInt();
    month=input.nextInt();
    day=input.nextInt();
    switch(month)   /*先计算某月以前月份的总天数*/
    {
    case 1:
        sum=0;break;
    case 2:
        sum=31;break;
    case 3:
        sum=59;break;
    case 4:
        sum=90;break;
    case 5: 
        sum=120;break;
    case 6:
        sum=151;break;
    case 7:
        sum=181;break;
    case 8:
        sum=212;break;
    case 9:
        sum=243;break;
    case 10:
        sum=273;break;
    case 11:
        sum=304;break;
    case 12:
        sum=334;break;
    default:
        System.out.println("请正确的输入年,月,日");break;
        }
    sum=sum+day;/*再加上某天的天数*/
    if(month>=0&&month<=12&&day>=1&&day<=31)/*判断控制台是否按照年月日正确输入*/
      {
    if(year%400==0||year%4==0&&year%100!=0)/*判断是否为闰年*/
    {   leap=1;
    }else{
        leap=0;
    }
    if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/
    {
        sum++;
        System.out.println(year+"年"+month+"月"+day+"号是这一年的第"+sum+"天。");
    }else {
        System.out.println(year+"年"+month+"月"+day+"号是这一年的第"+sum+"天。");
            }
        }
    }
}

4.由控制台输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321(知识点:循环语句、条件语句)

package third;
import java.util.Scanner;
public class  dataRequire{
    
    
    
    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:18  青衫故人1118  阅读(104)  评论(0编辑  收藏  举报