目录
题目一:统计3个班成绩情况,每个班有5名同学求出各个班的平均分和所有班级的平均分【学生的成绩从键盘输入】统计三个班及格人数,每个班有5名同学。
题目:3.经典的打印金字塔使用for 循环完成请编写一个程序,可以接收一个整数,表示层数,打印出金字塔
思路分析:化繁为简 (1). 先计算一个班,5个 学生的成绩,使用for 1.1创建Scanner 对象,然后,接收用户输入 1.2 得到该班级的平均分,定义一个double sum把该班级5个学生的平均成绩累积 (2) 统计3个班(每个班5个学生)平均分 (3)所有班级的平均分 3.1 定义一个变量,double totalScore累积所有学生的成绩 3.2 当多重循环结束后,totalScore/(3*5) (4) 统计三个班的及格人数 4.1 定义变量 int passNum=0; 当有一个学生成绩>=60,passNum++ 4.2 如果>=60 passNum++ (5) 可以优化【效率、可读性、结构】
代码实现:
- Scanner myScanner = new Scanner(System.in);
- double totalScore = 0;//累积所有学生的成绩
- int passNum = 0;//累积及格人数
- int classNum=3;//班级个数
- int stuNum=5;//学生个数
- for (int i = 1; i <= classNum; i++) {//i 表示班级
- double sum = 0;//一个班级的总分
- for (int j = 1; j <= stuNum; j++) {//j表示学生
- System.out.println("请输入第" + i + "个班的第" + j + "个学生的成绩");
- double score = myScanner.nextDouble();
- sum += score;//累积
- System.out.println("成绩为" + score);
- }
- //因为sum 是5个学生的总成绩
- System.out.println("sum=" + sum + "平均分=" + (sum / stuNum));
- //把sum 累积到totalScore
- totalScore += sum;
- }
- System.out.println("三个班总分=" + totalScore + "平均分=" + totalScore / (classNum * stuNum));
- System.out.println("及格人数=" + passNum);
图解:
代码实现:
- for (int i=1;i<=5;i++){
- System.out.println("*****");
- }
图解:
代码实现:
- for (int i=1;i<=5;i++){//i表示层数
- //控制打印每层的*个数
- for (int j=1;j<=i;j++){
- System.out.print("*");
- }
- //每打印完一层*后,就换行
- System.out.println("");
- }
图解:
代码实现:
- for (int i=1;i<=5;i++){//i表示层数
- //在输出*之前,还有输出对应空格
- for (int k=1;k<=5-i;k++){//总层数
- System.out.print(" ");
- }
- //控制打印每层的*个数
- for (int j=1;j<=2*i-1;j++){
- System.out.print("*");
- }
- //没打印完一层*后,就换行
- System.out.println("");
- }
图解:
代码实现:
- //打印空心金字塔
- int totalLevel=10;
- for (int i=1;i<=totalLevel;i++){//i表示层数
- //在输出*之前,还有输出对应空格
- for (int k=1;k<=totalLevel-i;k++){//总层数
- System.out.print(" ");
- }
- //控制打印每层的*个数
- for (int j=1;j<=2*i-1;j++){
- //当前行的第一个位置是*,最后一个位置也是* ,最后一层全部都是*
- if (j==1||j==2*i-1||i==totalLevel){
- System.out.print("*");
- }else {//其他情况输出空格
- System.out.print(" ");
- }
- }
- //每打印完一层*后,就换行,println本身就会换行
- System.out.println("");
- }