日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

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

發(fā)布時(shí)間:2024/7/23 java 36 豆豆

*5.9(找出得最高分的前兩個(gè)學(xué)生)編寫程序,提示用戶輸入學(xué)生的個(gè)數(shù)、每個(gè)學(xué)生名字及分?jǐn)?shù),最后顯示獲得最高分的學(xué)生名字、次高分的學(xué)生名字

  • 題目
    • 題目概述
    • next()讀取一個(gè)字符與nextLine()讀取一行
    • 破題
  • 代碼

題目

題目概述

*5.9(找出得最高分的前兩個(gè)學(xué)生)編寫程序,提示用戶輸入學(xué)生的個(gè)數(shù)、每個(gè)學(xué)生名字及分?jǐn)?shù),最后顯示獲得最高分的學(xué)生名字、次高分的學(xué)生名字
使用Scanner類的next()方法而不是nextLine()方法來(lái)讀取名字

next()讀取一個(gè)字符與nextLine()讀取一行

舉個(gè)例子理解:
Scanner input = new Scanner(System.in);
這個(gè)時(shí)候往console控制臺(tái)輸入:ABC 123
String str_next1 = input.next();
那么str_next1是:“ABC”
String str_next2 = input.next();
str_next2為:“123”

Scanner input = new Scanner(System.in);
這個(gè)時(shí)候往console控制臺(tái)輸入:ABC 123
String str_nextLine = input.nextLine();
那么str_nextLine是:“ABC 123”

破題

輸入順序是這樣的:學(xué)生個(gè)數(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ù)

  • 我們先讀取學(xué)生個(gè)數(shù)
  • 再利用循環(huán)讀取后續(xù)輸入數(shù)據(jù)
  • 同時(shí),在循環(huán)中要判斷讀取的學(xué)生成績(jī)是否為最大值、次大值
  • 代碼

    import java.util.Scanner;public class Test5_9 {public static void main(String[] args) {// 讀取學(xué)生個(gè)數(shù)Scanner input = new Scanner(System.in);System.out.println("請(qǐng)輸入學(xué)生個(gè)數(shù):");int i = input.nextInt();// 讀取后續(xù)數(shù)據(jù)+判斷最大值次大值double score = 0.0, biggestScore = 0.0, secondScore = 0.0;String student = "", biggestStudent = "", secondStudent = "";System.out.println("請(qǐng)輸入學(xué)生姓名與成績(jī)");for(int n = i;n > 0;--n){student = input.next();score = input.nextDouble();// 當(dāng)輸入值為score biggestScore secondScore最大值if(score > biggestScore){secondScore = biggestScore;secondStudent = biggestStudent;biggestScore = score;biggestStudent = student;}else if((score < biggestScore) && (score > secondScore)){// 當(dāng)輸入值大于次大、小于最大時(shí)secondScore = score;secondStudent = student;} else if (score == biggestScore){secondScore = score;secondStudent = student;}}// 輸出結(jié)果System.out.println("最高分學(xué)生名為:" + biggestStudent);System.out.println("次高分學(xué)生名為:" + secondStudent);} }

    總結(jié)

    以上是生活随笔為你收集整理的Java黑皮书课后题第5章:*5.9(找出得最高分的前两个学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。