1. 程式人生 > >Java輸入幾行字符串

Java輸入幾行字符串

align ali next lan family 換行符 發現 完數 style

查找書籍

給定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、在做這道題的過程中遇到一個問題。一開始看到網上有人通過重置輸入流(再產生一個對象來完成輸入)來處理因為輸入整數而遺留在輸入流中的“換行符”,最後發現其實並不需要,
但是,只需要註意到前面說的三點,就可以了。我通過重置輸入流的方法來完成輸入,反而有問題,但是不知道是什麽原因。配上圖片,提醒自己不再犯錯,被註釋了的部分就是使用
重置輸入流的方法(不正確,不知道錯在哪裏)。

技術分享圖片

 



Java輸入幾行字符串