發現更簡單的方法,但是不是很明白原理,求教
例如:System.out.println("請輸入女神的[姓名]:");
???System.out.println("您輸入的女神的姓名為:"+scan.next().toString());
???System.out.println("請輸入女神的[年齡]:");
???System.out.println("您輸入的女神的年齡為:"+scan.next().toString());
只要將in改為scan.next().toString()就不存在要保持循環,也不用定義precious和分步驟
2016-07-12
個人看法,僅供參考。
使用in傳遞參數的時候,數據輸入在if語句外執行。程序進入if語句后根據step變量選擇執行的語句,達到每一步執行不同效果的目的。其中輸入部分的等待是在if語句外完成的,程序需要在輸入完后進入if語句執行每一步的代碼。
而使用了scan.next().toString()后,輸入部分的等待在該行完成,類似于當前線程執行到此處時被掛起,等待輸入的線程接受了參數后,再返回到當前線程,相當于在輸入過程中當前線程仍然停留在scan.next().toString()處,執行完一部后緊接著執行下一步,不需要在if外完成輸入部分的等待,也不用多次進入if語句,更不需要定義prevvious作為狀態標記和分步驟。