Java黑皮书课后题第5章:5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生
5.8(找出得最高分的學(xué)生)編寫程序,提示用戶輸入學(xué)生的個數(shù)、每個學(xué)生名字及分?jǐn)?shù),最后顯示獲得最高分的學(xué)生名字
- 題目
- 題目概述
- next()讀取一個字符與nextLine()讀取一行
- 破題
- 代碼
題目
題目概述
5.8(找出得最高分的學(xué)生)編寫程序,提示用戶輸入學(xué)生的個數(shù)、每個學(xué)生名字及分?jǐn)?shù),最后顯示獲得最高分的學(xué)生名字
使用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”
破題
輸入順序是這樣的:學(xué)生個數(shù) 學(xué)生1名 學(xué)生1分?jǐn)?shù) 學(xué)生2名 學(xué)生2分?jǐn)?shù) 學(xué)生3名 學(xué)生3分?jǐn)?shù)…學(xué)生n名 學(xué)生n分?jǐn)?shù)
代碼
import java.util.Scanner;public class Test5_8 {public static void main(String[] args) {// 讀取學(xué)生個數(shù)Scanner input = new Scanner(System.in);System.out.println("請輸入學(xué)生個數(shù):");int i = input.nextInt();// 讀取后續(xù)數(shù)據(jù)+判斷最大值次大值double score = 0.0, biggestScore = 0.0;String student = "", biggestStudent = "";System.out.println("請輸入學(xué)生姓名與成績");for(int n = i;n > 0;--n){student = input.next();score = input.nextDouble();// 當(dāng)輸入值為score biggestScore最大值if(score > biggestScore){biggestScore = score;biggestStudent = student;}}// 輸出結(jié)果System.out.println("最高分學(xué)生名為:" + biggestStudent);} }總結(jié)
以上是生活随笔為你收集整理的Java黑皮书课后题第5章:5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第5章:**5.7(
- 下一篇: Java黑皮书课后题第5章:*5.9(找