上机练习:
1.使用for循环计算1-100的和,除了以3结尾的那些数

       int sum = 0;
          for (int i = 1; i <= 100; i++) {
              int j = i%10;
              if(j!=3){
              sum = sum+i;
          }
             
 }
          System.out.println(sum);
     }

 }


2.使用二重循环输出以下图形

*
***
*****
*******


*****
****
***
**
*

    for (int i = 1; i <= 4; i++) {
             for (int j = 1; j <= 4 - i; j++) {
                 System.out.print(" ");
             }
             for (int k = 1; k <= 2 * i - 1; k++) {
                 System.out.print("*");
             }
             System.out.println();
         }
         System.out.println();
         System.out.println();
         System.out.println();
         System.out.println();
         for (int i = 1; i <= 5; i++) {
             for (int j = 1; j <= 6 - i; j++) {
                 System.out.print("*");
             }
             System.out.println();
         }
     }

 }

3.循环输入学生姓名,直到输入‘Q’程序结束。

        Scanner input = new Scanner(System.in);
         while (true) {
             System.out.println("输入学生姓名");
             String a = input.next();
             if (a.equals("Q")) {
                 System.out.println("输入的名字有效");
                 break;
             } else
                 System.out.println("输入的名字无效,请重新输入");

         }
    
     }

 }


4.输入5个学生成绩,求和,当输入不合法的时候,提示输入错误重新输入。

        Scanner input = new Scanner(System.in);
        System.out.println("输入学生成绩");
        int sum = 0;
        for (int i = 1; i <= 5; i++) {
            int grade = input.nextInt();
            while (grade < 0 || grade > 100) {
                System.out.println("输入的成绩无效,重新输入");
                grade = input.nextInt();
                break;
            }
            sum += grade;
        }
        System.out.println(sum);
    }

}

 

5.计算 1+1/(1+2) + 1/(1+2+3) +1/(1+2+3+4)+…………+1/(1+2+....+10)

       double sum = 0;
        double j = 0;
        for (int i = 1; i <= 10; i++) {
            sum += i;
            j = 1 / sum + j;
        }
        System.out.println(j);
}

}


作业
1.产生一个1-99的随机数,猜数字,若大了就提示“大了点”,若小了就提示“小了点”直到猜对为止。
(判断猜的次数,如果1-3次,提示太棒了 如果5-8次 一般般 如果8次以上 太笨了)

        Scanner input = new Scanner(System.in);
        int number = (int) (Math.random() * 100);
        System.out.println("我这里有一个0到99之间的整数,你猜是多少?");
        int a = 0;
        do {
            int b = input.nextInt();
            if (b < number) {
                System.out.println("小了点!");
                a++;
            } else if (b > number) {
                System.out.println("大了点!");
                a++;
            } else {
                System.out.println("猜对啦!");
                a++;
                break;
            }
        } while (true);
        System.out.println("这个数字是" + number);
        System.out.println("您猜的次数是" + a);
        if (a >= 1 && a <= 3) {
            System.out.println("太棒了!");
        } else if (a >= 5 && a <= 8) {
            System.out.println("一般般!");
        } else {
            System.out.println("太笨了!");
        }
}
}

2.输入一个数,判断是不是质数(只能被1和自身整除的数是质数)

        Scanner input = new Scanner(System.in);
        System.out.println("输入一个数");
        int num = input.nextInt();
        boolean isPrime = true;
        if (num == 1) {
            isPrime = false;
        }
        for (int i = 2; i <= num - 1; i++) {
            if (num % i == 0) {
                isPrime = false;
                break;
            }
        }

        if (isPrime) {
            System.out.println(num + "是质数");
        } else {
            System.out.println(num + "不是质数");
        }
    }

}

3.求裴波那契数列的第20项是什么。裴波那契数列,1,1,2,3,5,8,13,21……

        int a=1,b=1,c=0;
        for(int i=1;i<=18;i++){
            c=a+b;
            a=b;
            b=c;
            System.out.println(c);
        }
        System.out.println("所以这个数列第20项是:"+c);
    }

}

posted on 2021-04-11 21:11  李昌璇  阅读(23)  评论(0编辑  收藏  举报