王慧婷的JAVA第三次作业

发布时间 2023-04-01 13:51:51作者: 顾白白

上机练习

第一题分别使用for循环,while循环,do循环求1100之间所有能被3整除的整数的和。(知识点:循环语句)  

for循环

 

package ddd;

public class test2 {

    public static void main(String[] args) {
        int num=0;
        for(int i=1;i<=100;i++) {
            if(i%3==0) {
                 num+=i;
            }
        }
System.out.println("1到100之间全能被3整除的整数和为:"+num);
    }

}

 

 

 

 

While循环

 

package ddd;

public class test2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int num=0,i=1;
        while(i<=100){
            if(i%3==0) {
                num+=i;
            }
            i++;
        }
System.out.println("1到100之间全能被3整除的整数和为:"+num);
    }

}

 

 

 

 

Do while循环

 

package ddd;

public class test2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int num=0,i=1;
        do{
            if(i%3==0) {
                num+=i;
            }
            i++;
        }while(i<=100);
System.out.println("1到100之间全能被3整除的整数和为:"+num);
    }

}

 

 

 

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

 

package ddd;

public class test2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        for(int i=0;i<=9;i++) {
            if(i==5) {
                continue;
            }
            System.out.println("输出的数"+i);
        }
    }

}

 

 

 

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

 

public class TEST3 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
      Scanner input=new Scanner(System.in);
      System.out.println("输入n的值求阶乘");
      int n=input.nextInt();
      int cheng=1;
      for(int i=1;i<=n;i++)
          cheng*=i;
      System.out.println(cheng);
    }

}

 

 

 

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

 

package ddd;

import java.util.Scanner;

public class test4 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
            while (true) {
                Scanner input=new Scanner(System.in);
                System.out.println("输入学生成绩");
                int score=input.nextInt();
                if (score>0&&score<=100) {
                    System.out.println("输入成绩有效");
                    
                } else {
                  System.out.println("输入成绩无效,重新输入");
                }
                
            }
    }

}

 

 

 

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

 

package domd3;

public class test1 {

    public static void main(String[] args) {
            System.out.println("十年后的变化");
            double nianxin=30000;
            double sum=0;
            for(int i=1;i<=10;i++)
            if(i!=1)
            {nianxin*=1.06;
            sum+=nianxin;
            }
            System.out.println("十年后年薪为"+nianxin);
            System.out.println("十年总合为"+sum);
            }

    }

 

 

作业

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

package domd3;

public class test1 {

    public static void main(String[] args) {
        System.out.println("输出1000之内的水仙花数");
        int i,baiwei,shiwei,gewei;
        for(i=100;i<1000;i++){
        baiwei=i/100;
        shiwei=i/10%10;
        gewei=i%10;
        if(i==baiwei*baiwei*baiwei+shiwei*shiwei*shiwei+gewei*gewei*gewei){
        System.out.println(i+"是水仙花数");
        }
            }

    }
}

 

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


package domd3;


import java.util.Scanner;


public class test2 {


public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入年:");
int a1=input.nextInt();
System.out.println("请输入月:");
int a2=input.nextInt();
System.out.println("请输入日:");
int a3=input.nextInt();

int sum=0;
for (int i = 1; i <=a2-1; i++) {
int day=0;
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 ((a1%400==0) || (a1%4==0 && a1%100!=0)) {
day=29;break;
} else {
day=28;break;
}
}
}
sum+=day;
}
sum+=a3;
System.out.println("这是这一年中的第"+sum+"天");
}


}

 

 

 

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

package domd3;

import java.util.Scanner;

public class test3 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int a = input.nextInt();
        while (a > 0) {
            int b = a % 10;
            a = a / 10;
            System.out.print(b);

    }

}
}