Java:為何不等輸入就跳過了?
阿新 • • 發佈:2018-12-19
有BUG的程式碼:
public Integer getIntegerNumber(String tips) { System.out.print(tips); return input.nextInt(); } public String getString(String tips) { System.out.print(tips); return input.nextLine(); } public void addinfo() { Vip s=new Vip(); s.vipName= getString("請輸入姓名:\n"); s.vipId=getString("請輸入身份證號:\n"); s.vipAge=getIntegerNumber("請輸入年齡:\n"); } for(int i=0; i<3;i++) { Vipinfo.addinfo(); }
當我想連續輸入多個vip使用者的資訊時,卻發現,不等我輸入就跳過了:
查閱資料後發現問題所在:
in.nextLine();不能放在in.nextInt();程式碼段後面 否則in.nextLine();會讀入"\n"字元,但"\n"並不會成為返回的字元。