Scanner工具类及断点调试(十七)*

功能描述:为指定成绩加分,直到分数大于等于60为止,输出加分前和加分后的成绩,并统计加分的次数。

运行效果:

public class HelloJava {
        public static void main(String[] args) { 
            // 变量保存成绩
            int score = 53;             
            // 变量保存加分次数
            int count = 0;
            //打印输出加分前成绩 
            System.out.println("加分前成绩:"+score);                       
            // 只要成绩小于60,就循环执行加分操作,并统计加分次数
            while (score<60 ) {
                count++;
                score++;
            }
            //打印输出加分后成绩,以及加分次数
            System.out.println("加分后成绩:"+score);
            System.out.println("共加了"+count+"次!");
        }
    }

上述代码中的成绩在程序中是固定的,并不能由用户自己输入,那如何才能使用户自己输入成绩呢?

—— 通过Scanner工具类来获取用户输入的成绩信息

  (Scanner类位于java.util包中,使用时需要导入此包)

步骤:

1.导入java.util.Scanner

2.创建Scanner对象

3.接收并保存用户输入的值

package learn;
import java.util.Scanner; //导入java.util.Scanner
public class HelloJava {
        public static void main(String[] args) { 
            Scanner input=new Scanner(System.in);//创建Scanner对象
            System.out.print("请输入考试成绩信息:");//获取用户输入值前,可以提示用户
            int score = input.nextInt();//获取用户输入的成绩并保存在变量中             
            int count = 0;//加分的次数
            //打印输出加分前成绩 
            System.out.println("加分前成绩:"+score);                       
            while (score<60 ) {// 只要成绩小于60,就循环执行加分操作
                count++;//每次循环加1分
                score++;//统计次数
            }
            //打印输出加分后成绩,以及加分次数
            System.out.println("加分后成绩:"+score);
            System.out.println("共加了"+count+"次!");
        }
    }

输入成绩56,按回车,运行结果:

功能描述:实现接收3个班级各4名学员的Java成绩,然后计算每个班级学员的平均分。

package learn;
import java.util.Scanner; //导入java.util.Scanner
public class HelloJava {
    /*
     * 功能:收3个班级的各4名学员的成绩信息,然后计算每个班级学员的平均分
     * 知识点:二重循环。外层循环控制班级的数量,内层循环控制每个班级的学员数量
     */
        public static void main(String[] args) { 
            int classNum=3;//班级数量
            int stuNum=4;//学生数量
            double sum=0;//成绩综合
            double avg=0;//成绩平均分
            Scanner input=new Scanner(System.in);
            for (int i=1;i<=classNum;i++) {//外层循环控制班级数量
                sum=0;//成绩总和归0* (如果没有在每次循环后把总成绩归0,那后面的循环都会加上之前的总分)
                System.out.println("***请输入第"+i+"个班级的成绩***");
                for (int j=1;j<=stuNum;j++) {//内层循环控制每个班级的学生数量
                    System.out.print("请输入第"+j+"个学员的成绩:");
                    int score=input.nextInt();
                    sum=sum+score;//成绩累加求和
            }
            avg=sum/stuNum;//计算平均分
            System.out.println("第"+i+"个班级学生的平均分为:"+avg);
        }
    }
}

 运行结果:

经验总结:

1.通过分析,明确需求

2.整理相关知识点

3.梳理实现流程

4.借助“断点跟踪”解决问题

 

posted @ 2020-03-16 14:47  梦清欢  阅读(382)  评论(0编辑  收藏  举报