Java第五次作业

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

(1)for循环

public class 能被3整除 {

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

}

(2)while循环

public class 能被3整除 {

    /**
     * @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+=a;
             a++;
     }System.out.println(sum);
    }

}

(3)do  while循环

public class 能被3整除 {

    /**
     * @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+=a;
             a++;
     }while (a<=100);
     System.out.println(sum);
    }

}

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

public class 输出数不包括5 {

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

}

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

import java.util.Scanner;


public class 求阶乘 {

    /**
     * @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;
         int i=1;
         while (i<=a){
             sum*=i;
             i++;
         }System.out.println(sum);
    }

}


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

import java.util.Scanner;


public class 学生成绩 {

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

}

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

public class 计算年薪 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
          double a=30000;
          for (int i=1;i<=9;i++){
              a=a*1.06;
          }System.out.println("未来第十年收入为"+a);
          double sum=a;
          for (int i=2;i<=9;i++){
              a=a*1.06;
              sum+=a;
          }System.out.println("未来十年总收入为"+sum);
    }

}

作业

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

153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。(知识点:循环语句、条件语句)

public class 水仙花数 {

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

}


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

 

import java.util.Scanner;


public class 年月日 {

    /**
     * @param args
     */
    public static void main(String [] args) {
        // TODO Auto-generated method stub
      Scanner input=new Scanner(System.in);
      System.out.println("输入年份");
      int year=input.nextInt();
      System.out.println("输入月份");
      int mon=input.nextInt();
      System.out.println("输入日期");
      int day=input.nextInt();
      int sum=0,i=0;
      for (i=1;i<mon;i++)
      switch (i){
      case 4:
      case 6:
      case 9:
      case 11:
          sum+=30;
          break;
      case 2:
          if (year % 2 == 0 && year % 100 == 0 || year % 400 == 0)
              sum+=29; 
          else
              sum+=28;
          break;
          default:
              sum+=31;
              break;
      }sum+=day;
      System.out.println("这是这一年中的第"+sum+"天");
          
    }

}

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

import java.util.Scanner;


public class 反转 {

    /**
     * @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();
        while (a<1000 || a>10000){
            System.out.println("输入错误,请重新输入");
        }int unit=a%10;
        int decade=a%100/10;
        int hundred=a%1000/100;
        int thousand=a/1000;
        System.out.println("原来的数为"+a+"反转之后的数为"+unit+decade+hundred+thousand);
    }

}

posted @ 2021-04-05 23:29  柳云倩  阅读(82)  评论(0编辑  收藏  举报