第五周上机+练习4.5

上机练习
1.分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句)

package week5;

public class W11 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a;
        int sum=0;
        for(a=1;a<=100;a++)
        {
            if(a%3==0)
            {
            
           sum=sum+a;
        
           }
            
        }System.out.println(sum);
    }

}

 

 

 

package week5;

public class W1 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        int a=1;
        int sum=0;
        while(a<=100)   
            {if(a%3==0)
            {
           sum=sum+a;
           }a++;
       } 
        System.out.println(sum);
    }

}

 

 

 

package week5;

public class W12 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a=1;
        int sum=0;
       
        do{ 
            if(a%3==0){
        
            sum=sum+a;
            }
            a++;
            
        }while(a<=100);
        System.out.println(sum);
    }

}

 

 

 


2.输出0-9之间的数,但是不包括5。(知识点:条件、循环语句)

package week5;



public class W2 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        int i=0;
        while(i<=9)
        {
            if(i!=5)
            System.out.println(i);    
            i++;
        }

    }

}

 

 

 


3.编写一个程序,求整数n的阶乘,例如5的阶乘是1*2*3*4*5(知识点:循环语句)

package week5;

import java.util.Scanner;

public class W3 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        System.out.println("输入一个数");
        int a=input.nextInt();
        int sum=1;
        while(a>0)
        {
            sum=sum*a;
            a--;
        }
        
        
        System.out.println(sum);
    }

}

 

 


4.编写一个程序,输入任意学生成绩,如果输入不合法(<0或者>100),提示输入错误,重新输入,直到输入合法程序结束(知识点:循环语句)

package week5;

import java.util.Scanner;

public class W4 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        System.out.println("输入学生成绩");
        int a=input.nextInt();
        if(a<0||a>100)
        {
            System.out.println("输入错误,重新输入");
            int b=input.nextInt();
            a=b;   
        }
        if(a<100&&a>0)
        {
            System.out.println("ok");
        }
    }

}

 

 


5.假设某员工今年的年薪是30000元,年薪的年增长率6%。编写一个Java应用程序计算该员工10年后的年薪,并统计未来10年(从今年算起)总收入。(知识点:循环语句)

package week5;

public class W5 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        double a=30000;
        double sum=0;
        double year=1;
        while(year<=10)
        {
            a=a*1.06;
            sum=sum+a*1.06;
            year++;
        }
        System.out.println("十年后年薪"+a);
        
        System.out.println("未来十年薪资"+sum);
        
    }

}

 

 

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

package week5;

public class W6 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a=100;
        while(a<1000)
        {
            if((a/100)*(a/100)*(a/100)+(a%100/10)*(a%100/10)*(a%100/10)+(a%10)*(a%10)*(a%10)==a)
                {System.out.println(a);}
            a++;
        }
      
        
    }

}

 

 


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

package week5;

import java.util.Scanner;

public class W7 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int year;
        int mouth;
        int day = 0;
        int days;
        int d = 0;
        int e = 0;
        Scanner input=new Scanner(System.in);
        do {
            System.out.println("输入年,月,日");
            year =input.nextInt();
            mouth =input.nextInt();
            days =input.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) + "天");
    }

}

 

 

 


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

package week5;

import java.util.Scanner;

public class W8 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        int a=input.nextInt();
        while(a>0){
            System.out.println(a%10);
            a=a/10;
        }
    }

}

 

posted @ 2021-04-05 21:28  崔明月  阅读(55)  评论(0编辑  收藏  举报