我的代码如下,我的任务是
正如你在我的代码中看到的,我将数组设置为[playerCount] [5],我认为这会导致问题,但我不知道如何解决它。有时可能有5列,有时可能只有2,3,4列。还有多行,可以是1,2,3,无穷大。我似乎无法弄清楚如何获得列中行数的总和,所以稍后我可以在这些行中添加值以获得总和。
import java.util.Scanner;
class ASgn8
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print("How many players? ");
int playerCount = scan.nextInt();
scan.nextLine();
String[] playerNames = new String[playerCount];
Die[][] diceArray = new Die[playerCount][5];
for(int i = 0; i < playerCount; i++)
{
System.out.print("What is your name: ");
playerNames[i] = scan.nextLine();
}
int randomNum = (int)(Math.random() * (30-10)) +10;
System.out.println(randomNum);
int userChoice = 1;
for(int i = 0; i < playerCount; i++)
{
int j=0;
System.out.println(playerNames[i] + "'s turn!");
while(userChoice != 2 && j < 5)
{
Die roll2 = new Die();
roll2.roll();
System.out.println(roll2);
diceArray = new Die[i][j];
System.out.println("Again? 1= yes, 2=no");
userChoice = scan.nextInt();
j++;
}
if(userChoice == 2)
{
userChoice = 1;
}
}
}
}
答案 0 :(得分:1)
我不太清楚你的意思,但是你会得到diceArray.length
的列和diceArray[0].length
的行,这些列需要存储在数组中的一个数组并告诉它的大小。多维数组实际上并不是多维数组,但更像是包含数组的数组,所以你需要得到一个内部数组来告诉它的大小。
但是,你可能应该使用ArrayList [],因为普通的java数组不能调整大小。 Arraylists可以,所以你可以做
ArrayList<int> diceArray = new ArrayList()[playerNum]
。
然后用for循环初始化ArrayLists,你将获得diceArray [playerNum] .size()的大小。检查示例Live example教程。
答案 1 :(得分:0)
看看这个例子:
String[][] array = new String[5][6];
System.out.println(array.length);
System.out.println(array[0].length);
我认为一切都会很清楚。