Java輸入幾行字符串


查找書籍

給定n本書的名稱和定價,本題要求編寫程序,查找並輸出其中定價最高和最低的書的名稱和定價。

輸入格式:

輸入第一行給出正整數n(<10),隨后給出n本書的信息。每本書在一行中給出書名,即長度不超過30的字符串,隨后一行中給出正實數價格。題目保證沒有同樣價格的書。

輸出格式:

在一行中按照“價格, 書名”的格式先后輸出價格最高和最低的書。價格保留2位小數。

輸入樣例:

3
Programming in C
21.5
Programming in VB
18.5
Programming in Delphi
25.0

輸出樣例:

25.00, Programming in Delphi
18.50, Programming in VB

*********************************************************************************以上為題目***************************************************************************************
這道題的算法挺簡單的,但是這道題目的關鍵應該是如何將數據輸入進去,所以在這里記錄一下做這道題用到的方法和使用這些方法需要注意什么
1、使用nextInt()獲取輸入流中的整數。在解這道題的時候,我們輸入一個整數然后按下“換行符”。nextInt()只會從輸入流中把整數拿走,“換行符”依然會在輸入流中。
因此,我們輸入完數字后,需要把剩下的換行符處理了,使用nextLine()完成;
2、使用nextLine()獲取輸入流中的字符串。nextLine()獲取“換行符”和字符串;
3、
使用nextDouble()獲取輸入流中的雙精度小數,和獲取整數一樣,同樣需要處理輸入流中“換行符”;
4、next()這個方法獲取輸入流中“空格”和“換行符”前面的字符;
5、在做這道題的過程中遇到一個問題。一開始看到網上有人通過重置輸入流(再產生一個對象來完成輸入)來處理因為輸入整數而遺留在輸入流中的“換行符”,最后發現其實並不需要,
但是,只需要注意到前面說的三點,就可以了。我通過重置輸入流的方法來完成輸入,反而有問題,但是不知道是什么原因。配上圖片,提醒自己不再犯錯,被注釋了的部分就是使用
重置輸入流的方法(不正確,不知道錯在哪里)。


 

 

 

 

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM