public class GameLogic {
Scanner input = new Scanner(System.in);
public void buyHouse(Player player, int propertyIndex) {
boolean boughtHouse = false;
GameboardSquare property = Board.getMonopolyBoard()[propertyIndex];
int a = 0;
if (property.getNumberHouse() <= 3) {
System.out.println("How many houses you want to buy? it must be between 1-4: ");
a = input.nextInt();
System.out.println(a);
}
}
}
私が間違っていることを教えてくれる人がいますか?私がコードを実行するたびに、それはコンソールに何も入力させません。ちょうどその行に吸い込まれます。a = input.nextInt();
私は、デバッガでそれをデバッグしようとしたが、その破壊、これはまたJavaスキャナがユーザーからの入力を受け付けていない
public class GameLogicTest extends TestCase {
public void testBuyHouse() throws Exception {
Player player = new Player(1000,0);
GameboardSquare property = new GameboardSquare("Seb", 100,50,50,100,150,200,250,300,200,0,3,0,player,false);
GameboardSquare[] gameboard = new GameboardSquare[1];
gameboard[0] = property;
GameLogic game = new GameLogic();
Board board = new Board(gameboard);
board.setMonopolyBoard(gameboard);
game.buyHouse(player,0);
}
}
https://i.stack.imgur.com/Dovlc.png
私のテストケースですまだ知らないも私はプリントアウト
コードはどこで実行しますか? IDEまたはコンソールで?あなたが 'a = input.nextInt();'行に 'つぶれてしまう 'と言うと、正確にはどういう意味ですか? – Nurjan
それは立ち往生していないが、あなたの入力を待っているように見える、あなたのコードを実行している。あなたの入力が何であれ入力し、Enterを押します。それは動作するはずです! –
System.console()を使用してコンソールから入力を読み取ることを検討してください。 これを起動する方法によっては、コンソールが利用できないか、System.inが利用できないことがあります。 –