JAVA第三次作业

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

方法一:

 1 public class Main {
 2     public static void main(String[] args) {
 3         int sum = 0;
 4         int i=1;
 5         do {
 6             if(i%3==0) {
 7                 sum+=i;
 8                 i++;
 9             }else {
10                 i++;
11             }
12         }while(i<=100);
13         System.out.println("和为:"+sum);
14     }
15 
16 }

 

 

方法二:

 1 public class Main {
 2     public static void main(String[] args) {
 3         int sum = 0;
 4         int i=1;
 5         for (; i <= 100; i++) {
 6             if(i%3==0) {
 7                 sum += i;
 8             }
 9         }
10         System.out.println("和为:"+sum);
11     }
12 }

 

 

方法三:

 1 public class Main {
 2     public static void main(String[] args) {
 3         int sum = 0;
 4         int i=1;
 5         while(i<=100) {
 6             if(i%3==0) {
 7                 sum +=i;
 8                 i++;
 9             }else {
10                 i++;
11             }
12         }
13         System.out.println("和为:"+sum);
14     }
15 }

 

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

 

1 public class Main {
2     public static void main(String[] args) {
3         int i;
4         for(i=0;i<=9;i++) {
5             if(i!=5)
6                 System.out.println(i);
7         }
8     }

 

 

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

 

 1 import java.util.Scanner;
 2 public class Main {
 3     public static void main(String[] args) {
 4         Scanner input = new Scanner(System.in);
 5         System.out.println("请输入一个数");
 6         int x =input.nextInt();
 7         int sum= 1;
 8         int i;
 9         for(i=1;i<=x;i++) {
10             sum*=i;
11         }
12         System.out.println("这个数的阶是"+sum);
13     }
14 }

 

 

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

 

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int i;
        for(i=0;;i++) {
            System.out.println("请输入学生成绩:");
            double x=input.nextDouble();
            if(x<0||x>100) {
                System.out.println("输入的成绩不合法");
            }else {
                System.out.println("该学生成绩为"+x);
            }
            break;
        }
    }
}

 

 

 

 

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

 

 1 import java.util.Scanner;
 2 public class Main {
 3     public static void main(String[] args) {
 4         double x=30000;
 5         double sum=30000;
 6         for(int i=2;i<11;i++) {
 7             x=x*(1+0.06);
 8             sum=sum+x;
 9         }
10         System.out.println("第10年的年薪为"+x+"未来10年总收入"+sum);
11     }
12 }

 

 

 作业

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

 1 public class Main {
 2     public static void main(String[] args) {
 3         for (int a= 100; a <= 999; a++) {
 4             int ge = a % 10;
 5             int shi = a / 10 % 10;
 6             int bai = a/ 100;
 7             if (ge * ge * ge + shi * shi * shi + bai * bai * bai == a) {
 8                 System.out.print("水仙花数为:"+a + " ");
 9                 }
10          }
11 
12     }
13 }

 

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

 1 import java.util.Scanner;
 2 public class Main {
 3     public static void main(String[] args) {
 4         Scanner input=new Scanner(System.in);
 5         int sum = 0;
 6         System.out.println("输入年");
 7         int year = input.nextInt();
 8         System.out.println("输入月");
 9         int mon = input.nextInt();
10         System.out.println("输入日");
11         int day = input.nextInt();
12         int[] yue = new int[]{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
13         if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
14             for (int b = 0; b < mon - 1; b++) {
15                 sum += yue[b];
16             }
17         } else {
18             for (int c = 0; c < mon - 1; c++) {
19                 sum += yue[c];
20             }
21             sum -= 1;
22         }
23         sum += day;
24         System.out.println("今天是这一年的第" + sum + "天");
25 
26     }
27 }

 

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

 1 mport java.util.Scanner;
 2 public class Main {
 3     public static void main(String[] args) {
 4         Scanner input=new Scanner(System.in);
 5         System.out.println("请输入一个4位整数");
 6         int num=input.nextInt();
 7         int num_a=num/1000;
 8         int num_b=num/100%10;
 9         int num_c=num/10%10;
10         int num_d=num%10;
11         System.out.println("原数字:"+num+"调换后:"+(num_d*1000+num_c*100+num_b*10+num_a));
12     }
13 }

 

posted @ 2023-04-05 19:44  coldlane  阅读(15)  评论(0编辑  收藏  举报