2016-05-19 78 views
1
System.out.println("Please enter the amount of money you have here: "); 
Scanner have = new Scanner(System.in); 
System.out.println("Please enter your starting bet here: "); 
Scanner rate = new Scanner(System.in); 

int moneyHad = Integer.parseInt(have.next()); 
int moneyRate = Integer.parseInt(rate.next()); 
System.out.println(moneyHad + ", " + moneyRate); 

有我的代碼,這是我的輸出。Java - 掃描器不要求輸入

Please enter the amount of money you have here: 
Please enter your starting bet here: 1 
1 
1, 1 

正如你可以看到它打印它們都在它要求之前,這就是爲什麼沒有輸入第1行的輸入。

請快點幫幫我吧!

+0

你爲什麼要創建兩個'Scanner'對象? – Abubakkar

+1

只要看看代碼行的順序,並考慮每行代碼的作用。或者使用調試器,以獲得更深入的洞察力。一旦你完成了這個任務,就不應該太難找到問題所在。並且'Scanner'上的提示:在同一個'InputStream'上的多個掃描儀很可能會導致一些問題,並且首先不需要兩個掃描儀。 – Paul

+0

Abubakkar Rangara,因爲我需要2個輸入。 – mobinblack

回答

2
  • 無需創建2個掃描對象
  • 有一個返回int(scanner.nextInt())沒有必要parseInt函數,當調用scanner.nextInt
  • 輸入是紅色的()的方法創建掃描對象不是當

試試這個:

Scanner scanner = new Scanner(System.in); 

     System.out.print("Please enter the amount of money you have here: "); 
     int moneyHad = scanner.nextInt(); 
     System.out.print("Please enter your starting bet here: "); 
     int moneyRate = scanner.nextInt(); 


     System.out.println(moneyHad + ", " + moneyRate); 
+0

但它仍然在做... – mobinblack

+0

加你爲什麼只需要一個掃描儀。 – mobinblack

+0

非常感謝你 – mobinblack

1

你只需要一個掃描儀對象,並調用nexInt()方法獲取後續條目。

+0

是的,我在上面的評論中看到了。 – mobinblack