java第五次作业

上机练习

 

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

 1 package explorer_002;
 2 
 3 public class pratice_01 {
 4 
 5     public static void main(String[] args) {
 6         // TODO Auto-generated method stub
 7         System.out.println("for方法");
 8         int a=1;
 9         int sum=0;
10         for(a=1;a<=100;a++)
11         {
12         if(a%3==0)
13         {
14             sum=sum+a;
15         }
16         }
17         System.out.println("1-100之间能被3整除的数总和为"+sum);
18         System.out.println("===========================================");
19         
20         System.out.println("while方法");
21         
22         a=1;
23         sum=0;
24         while(a<=100)
25         {
26             if(a%3==0)
27             {
28                 sum=sum+a;
29             }
30             a++;
31         }
32         System.out.println("1-100之间能被3整除的数总和为"+sum);
33         System.out.println("============================================");
34         
35         System.out.println("do-while方法");
36         
37         a=1;
38         sum=0;
39         do
40         {
41             if(a%3==0)
42             {
43                 sum=sum+a;
44             }
45             a++;
46         }
47         while(a<=100);
48         System.out.println("1-100之间能被3整除的数总和为"+sum);
49         
50     }
51 
52 }

 

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

 1 package explorer_002;
 2 
 3 public class pratice_02 {
 4 
 5     public static void main(String[] args) {
 6         // TODO Auto-generated method stub
 7         int i=0;
 8         for(i=1;i<=9;i++)
 9         {
10             if(i!=5)
11             {
12                 System.out.println(i);
13             }
14         }
15     }
16 
17 }

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

 1 package explorer_002;
 2 
 3 import java.util.Scanner;
 4 
 5 public class pratice_03 {
 6 
 7     public static void main(String[] args) {
 8         // TODO Auto-generated method stub
 9         Scanner input=new Scanner(System.in);
10         System.out.println("请输入一个正整数n");
11         int n=input.nextInt();
12         System.out.println("正在为您计算他的阶乘总和");
13         int i=0;
14         int f=1;
15                 for(i=n;i>0;i--)
16                 {
17                     f=f*i;
18                 }
19         System.out.println("他的阶乘总和为"+f);
20     }
21 
22 }

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

 1 package explorer_002;
 2 
 3 import java.util.Scanner;
 4 
 5 public class pratice_cyc_unt_rig {
 6 
 7     public static void main(String[] args) {
 8         // TODO Auto-generated method stub
 9         Scanner input=new Scanner(System.in);
10         System.out.println("请输入成绩(0-100)");
11         int score=input.nextInt();
12         if(score<=100&&score>=0)
13         {
14             System.out.println("输入成功成绩为"+score);
15         }
16         else
17         {
18             int i;
19             int sc=-1;
20             for(i=sc;i>100||i<0;)
21             {
22                 System.out.println("成绩格式不正确,请从新输入");
23                 sc=input.nextInt();
24                 i=sc;
25             }
26             System.out.println("输入成功成绩为"+sc);
27         }
28     }
29 
30 }

 

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

 1 package explorer_002;
 2 
 3 import java.util.Iterator;
 4 
 5 public class pratice_05 {
 6 
 7     public static void main(String[] args) {
 8         // TODO Auto-generated method stub
 9         double salary=30000;
10         System.out.println("正在为您计算10年后的年薪,以及未来10年(从今年算起)总收入");
11         int year=10;
12         double sum=0;
13         for(year=10;year>0;year--)
14         {
15             sum=sum+salary;
16             salary=salary*0.06+salary;
17         }
18         System.out.println("10年后的年薪为"+(int)salary);
19         System.out.println("未来10年(从今年算起)总收入"+(int)sum);
20     }
21 
22 }

 

 

 

作业

 

1.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

 1 package explorer_001;
 2 
 3 import java.util.Scanner;
 4 
 5 public class work_01 {
 6 
 7     public static void main(String[] args) {
 8         // TODO Auto-generated method stub
 9         Scanner input=new Scanner(System.in);
10         System.out.println("请输入一个三位数");
11         int num=input.nextInt();
12         if(num>=100&&num<=999)
13         {
14             int a=num/100;
15             int c=num%10;
16             int b=(num%100-c)/10;
17             int e=a*a*a+b*b*b+c*c*c;
18             if(e==num)
19             {
20                 System.out.println(num+"是水仙花数");
21             }
22             else
23             {
24                 System.out.println(num+"不是水仙花数");
25             }
26         }
27         else
28         {
29             do
30             {
31                 System.out.println("数字输入错误请重新输入");
32                 int f=input.nextInt();
33                 num=f;
34             }
35             while(num<100||num>999);
36             int a=num/100;
37             int c=num%10;
38             int b=(num%100-c)/10;
39             int e=a*a*a+b*b*b+c*c*c;
40             if(e==num)
41             {
42                 System.out.println(num+"是水仙花数");
43             }
44             else
45             {
46                 System.out.println(num+"不是水仙花数");
47             }
48         }
49     }
50}

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

 1 package explorer_001;
 2 
 3 import java.util.Scanner;
 4 
 5 public class work_02 {
 6 
 7     public static void main(String[] args) {
 8         // TODO Auto-generated method stub
 9         Scanner input=new Scanner(System.in);
10         System.out.println("请输入一个年、月、日");
11         int year=input.nextInt();
12         int month=input.nextInt();
13         int day=input.nextInt();
14         int num=0;
15         int i=month-1;        
16         if(year%400==0||year%100!=0&&year%4==0) {
17             for(i=month-1;i>0;i--)
18             {
19                 if(i==1||1==3||i==5||i==7||i==8||i==10||1==12)
20                 {
21                     num=num+31;
22                 }
23                 else if(i==4||1==6||i==9||i==11)
24                 {
25                     num=num+30;
26                 }
27                 else if(i==2)
28                 {
29                     num=num+29;
30                 }
31                 else {
32                     System.out.println("月份输入错误");
33                 }
34             }
35             System.out.println("这是这一年中的第"+(num+day)+"天");
36         }
37         else {
38             for(i=month-1;i>0;i--)
39             {
40                 if(i==1||1==3||i==5||i==7||i==8||i==10||1==12)
41                 {
42                     num=num+31;
43                 }
44                 else if(i==4||1==6||i==9||i==11)
45                 {
46                     num=num+30;
47                 }
48                 else if(i==2)
49                 {
50                     num=num+28;
51                 }
52                 else {
53                     System.out.println("月份输入错误");
54                 }
55             }
56             System.out.println("这是这一年中的第"+(num+day)+"天");
57         }
58         
59         
60         
61         
62         
63         
64     }
65     
66     
67 }


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

package explorer_001;

import java.util.Scanner;

public class work_03 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        System.out.println("请输入一个四位数");
        int num=input.nextInt();
        int a=num/1000;
        int d=num%10;
        int c=(num%100-d)/10;
        int b=num/100-a*10;
        System.out.println("逆序数为"+d+c+b+a);
    }

}

 

posted @ 2021-04-07 15:02  计算机1903孙铭泽  阅读(65)  评论(0编辑  收藏  举报