關於Java中Scanner使用的一些問題

2021-08-19 04:10:32 字數 858 閱讀 1250

今天寫作業,實現乙個簡單的學生管理系統,在控制台簡單互動即可。我使用了scanner來接受輸入,我的寫法模擬如下:

public

static

void

main(string args)

else}}

想法是輸入數字,根據輸入的數字選擇不同的選項,該選項是想輸出一句提示」請輸入學生的學號:」,然後按提示輸入學號,然後再輸出一句提示」請輸入學生的名字:」,再按提示輸入名字,然而結果與我期望的不一樣。結果如下圖:

一開始沒有弄明白,於是覺得可能是自己對scanner的用法還不熟悉,長時間不用忘記了關鍵點,於是到網上去看別人是怎麼寫的,於是就改為下面這種寫法:

public

static

void

main(string args)

else}}

然後執行結果就正常了:

後來在剛剛寫這個部落格的時候,突然就想到,會不會是因為我輸入數字1按回車之後,這個回車被下面的nextline()接收了:

if(num==1) {

system.out

.print("請輸入學生的學號:");

string stunum = scanner.nextline();

所以會有連續輸出兩條提示。不過也只是猜測,先記錄下,日後有時間再研究。

java中怎麼用Scanner

它是以前的stringtokenizer和matcher類之間的某種結合。由於任何資料都必須通過同一模式的捕獲組檢索或通過使用乙個索引來檢索文字的各個部分。於是可以結合使用正規表示式和從輸入流中檢索特定型別資料項的方法。這樣,除了能使用正規表示式之外,scanner類還可以任意地對字串和基本型別 如...

Java中Scanner類的使用

scanner是乙個可以使用正規表示式來解析基本型別和字串的簡單文字掃瞄器。scanner使用分隔符模式將其輸入分解為標記,預設情況下該分隔符模式與空白匹配。然後可以使用不同的 next 方法將得到的標記轉換為不同型別的值。例如,以下 使使用者能夠從 system.in 中讀取乙個數 scanner...

Java中Split方法和Scanner類

split函式和scanner類都可以使用正規表示式實現字串分割。例如從命令列接受一行字串如 1 2 注意1前面有多個空格,1與2之間有多個空格 split inputstreamreader isr new inputstreamreader system.in bufferedreader br...