*5.9(找出得最高分的前两个学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生名字、次高分的学生名字

  • 题目
    • 题目概述
    • next()读取一个字符与nextLine()读取一行
    • 破题
  • 代码

题目

题目概述

*5.9(找出得最高分的前两个学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生名字、次高分的学生名字
使用Scanner类的next()方法而不是nextLine()方法来读取名字

next()读取一个字符与nextLine()读取一行

举个例子理解:
Scanner input = new Scanner(System.in);
这个时候往console控制台输入:ABC 123
String str_next1 = input.next();
那么str_next1是:“ABC”
String str_next2 = input.next();
str_next2为:“123”

Scanner input = new Scanner(System.in);
这个时候往console控制台输入:ABC 123
String str_nextLine = input.nextLine();
那么str_nextLine是:“ABC 123”

破题

输入顺序是这样的:学生个数 学生1名 学生1分数 学生2名 学生2分数 学生3名 学生3分数…学生n名 学生n分数

  1. 我们先读取学生个数
  2. 再利用循环读取后续输入数据
  3. 同时,在循环中要判断读取的学生成绩是否为最大值、次大值

代码

import java.util.Scanner;public class Test5_9 {public static void main(String[] args) {// 读取学生个数Scanner input = new Scanner(System.in);System.out.println("请输入学生个数:");int i = input.nextInt();// 读取后续数据+判断最大值次大值double score = 0.0, biggestScore = 0.0, secondScore = 0.0;String student = "", biggestStudent = "", secondStudent = "";System.out.println("请输入学生姓名与成绩");for(int n = i;n > 0;--n){student = input.next();score = input.nextDouble();// 当输入值为score biggestScore secondScore最大值if(score > biggestScore){secondScore = biggestScore;secondStudent = biggestStudent;biggestScore = score;biggestStudent = student;}else if((score < biggestScore) && (score > secondScore)){// 当输入值大于次大、小于最大时secondScore = score;secondStudent = student;} else if (score == biggestScore){secondScore = score;secondStudent = student;}}// 输出结果System.out.println("最高分学生名为:" + biggestStudent);System.out.println("次高分学生名为:" + secondStudent);}
}

Java黑皮书课后题第5章:*5.9(找出得最高分的前两个学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生相关推荐

  1. Java黑皮书课后题第2章:2.11(人口统计)重写编程练习题1.11,提示用户输入年数,然后显示这个年数之后的人口值,将1.11中的提示用于这个程序

    2.11(人口统计)重写编程练习题1.11,提示用户输入年数,然后显示这个年数之后的人口值,将1.11中的提示用于这个程序 题目 题目描述 运行示例 涉及的1.11代码(非本题代码) 破题 代码块 题 ...

  2. Java黑皮书课后题第1章:1.13(代数:求解2*2线性方程组)编写程序,求解以下方程组并显示x和y的值 3.4x+50.2y=44.5 2.1x+0.55y=5.9

    Java黑皮书课后题第1章:(代数:求解2*2线性方程组) 题目 题目描述 破题 代码块 方法评析 赘述 修改日志 题目 题目描述 求x和y值: 3.4x+50.2y=44.5 2.1x+0.55y= ...

  3. Java黑皮书课后题第3章:3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面。随即产生一个整数0或1,分别表示

    3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面 题目 题目概述 破题 代码 题目 题目概述 3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面 随即 ...

  4. Java黑皮书课后题第3章:*3.3(代数:求解2*2线性方程)编写程序,提示用户输入a、b、c、d、e和f,然后显示结果

    *3.3(代数:求解2*2线性方程)编写程序,提示用户输入a.b.c.d.e和f,然后显示结果 题目 题目描述 运行示例 破题 代码 题目 题目描述 3.3(代数:求解22线性方程) 编写程序,提示用 ...

  5. Java黑皮书课后题第2章:*2.21(金融应用:计算未来投资回报)编写程序,读取投资总额、年利率和年龄,显示未来投资回报金额

    *2.21(金融应用:计算未来投资回报)编写程序,读取投资总额.年利率和年龄,显示未来投资回报金额 题目 题目概述 举例与运行示例 思路 代码 赘述 题目 题目概述 2.21(金融应用:计算未来投资回 ...

  6. Java黑皮书课后题第6章:*6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和。使用下面的方法头:public static int sumDigits(long n)

    6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和.使用下面的方法头:public static int sumDigits(long n) 题目 题目概述 槽点 代码 运行示例 ...

  7. Java黑皮书课后题第7章:**7.19(是否排好序了?)编写以下方法,如果参数中的list数组已经排好序了则返回true。编写一个测试程序,提示用户输入一个列表,显示该列表是否已经排好序

    7.19(是否排好序了?)编写以下方法,如果参数中的list数组已经排好序了则返回true.编写一个测试程序,提示用户输入一个列表,显示该列表是否已经排好序 题目 题目描述 破题 代码 题目 题目描述 ...

  8. Java黑皮书课后题第5章:5.6(英里与千米之间的互换)编写一个程序,并排显示下面两个表格

    5.6(英里与千米之间的互换)编写一个程序,并排显示下面两个表格 题目 题目概述 破题 代码 题目 题目概述 5.6(英里与千米之间的互换)编写一个程序,并排显示下面两个表格 英里 千米 千米 英里 ...

  9. Java黑皮书课后题第5章:5.5(千克与磅之间的互换)编写一个程序,并排显示下面两个表格

    5.5(千克与磅之间的互换)编写一个程序,并排显示下面两个表格 题目 题目概述 破题 代码 题目 题目概述 5.5(千克与磅之间的互换)编写一个程序,并排显示下面两个表格 千克 磅 磅 千克 1 2. ...

  10. Java黑皮书课后题第7章:*7.29(游戏:挑选四张牌)编写一个程序,从一副52张牌中选出4张,然后计算它们的和。Ace King Quee Jack分别表示1、13、12和11,显示得到和24的次

    *7.29(游戏:挑选四张牌)编写一个程序,从一副52张牌中选出4张,然后计算它们的和.Ace King Quee Jack分别表示1.13.12和11,显示得到和为24的选牌次数 题目 题目描述 破 ...

最新文章

  1. 可以打游戏的计算机,还在用笔记本玩游戏?台式机才能给你极致享受
  2. 宏基因组公众号创立初衷及如何注册一个名字好记的公众号
  3. 从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)
  4. 单纯形法(四)理论部分(终结)
  5. java怎么测试dao_java-Mockito使用模拟对象测试DAO
  6. 每个程序员都可能犯过的10个错误
  7. 贪心算法之阿里巴巴与四十大盗(背包问题)
  8. 【编程】基本程序设计模式
  9. 将TIMESTAMP类型的差值转化为秒的方法
  10. 利用IE浏览器进行web打印
  11. 为什么我推荐你立刻使用Java 8 Stream?性能逆天了
  12. 第三十一天 MySQL并发控制、存储引擎介绍、用户权限管理、缓存管理和数据类型选择...
  13. android脚本,安卓好用的脚本程序—Gscript
  14. kafka的offset理解
  15. react 学习之Protal
  16. TUP首期主题论坛报道:中小型开发商移动开发的生存之道
  17. JavaWeb全面知识总结之呕血三天精心整理
  18. 【OSX】MAC下能用的炒股软件_我是亲民_新浪博客
  19. execl()函数与execlp()函数
  20. 设计模式之里氏替换原则

热门文章

  1. 腾讯 监控系统服务器数据采集,实战低成本服务器搭建千万级数据采集系统
  2. C/C++可变参函数示例
  3. 2021阿里巴巴研发效能峰会来啦!
  4. 一张图,看懂阿里云12年的“飞天日记”
  5. 换个角度入门 K8s
  6. Code Review 是苦涩但有意思的修行
  7. 阿里巴巴大规模应用Flink的踩坑经验:如何大幅降低 HDFS 压力?
  8. 水阀门开关方向图解_低压阀门开闭器
  9. List精讲(Java版)·算法常用集合处理方法
  10. 那些《西游记》中你不知道的野史,信不信由你