-1
私はJavaと一般的なコーディングを使い慣れていません。このコードは、プレイヤーの数についてユーザからの整数を入力し、そのプレイヤーの数を合計したプレイヤーの名前を入力することを意図しています。ただし、実行すると、1つ少ない名前を入力することができます。なぜこのコードでは、numPlayersよりも少ないプレーヤを入力することができますか?
import java.util.Arrays;
//import java.util.Scanner;
public class FarkleFactory {
public static void main(String[] args) {
// Welcome and set-up for a Farkle game
int numPlayers;
String playerOrder;
System.out.println ("Let's play Farkle!");
//Scanner input = new Scanner (System.in);
TextIO input = new TextIO();
System.out.println("How many players will there be?");
numPlayers = input.getInt();
String[] players = new String[numPlayers];
System.out.println("Roll the dice and determine who starts...");
System.out.println("Enter the players.");
for (int i = 0; i < numPlayers; i++) {
players[i] = TextIO.getln();
}
System.out.println(Arrays.toString(players));
System.out.println ("OK, " + players[1] + "! Roll the dice and get started!");
}
}
「TextIO.getln();」とは何ですか?あなたのプログラムの行動は何ですか?何が問題なの? – Tunaki
私はTextIOを使用しませんが、どこでTextIO変数を作成し、入力し、TextIOオブジェクトを割り当ててから、forループで入力するときに使用しませんか? –
私は 'BufferedReader br = 新しいBufferedReader(新しいInputStreamReader(System.in));'を使用し、 'players [i] = br.readLine(); 'を使用すると動作します –