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.借助“断点跟踪”解决问题