我目前正在尝试使用Java为我的数据构建数据表。但是,我的数据按列排列(因此对于一个列标题,说"金额运行",我有一个数组用于&#34的所有值;金额运行")。换句话说,我有一个值的数组,用于"金额运行"的所有值,我需要将它们排列成一列而不是一行。所以我的问题是"有没有办法初始化2-D数组,以便可以逐列初始化它(因为我知道初始化2-D数组的唯一方法是通过做
Object[][] array = { {"word1","word2"},{"word3","word4"}}
但是,这是按行而不是按行。那么,我该如何初始化它以便" word3"和" word2"是在#34;阵列" (" word1"和" word2"目前在#34;阵列")。
(如果解决方案不使用循环,它是最好的,但如果这是唯一的方法,那很好)
答案 0 :(得分:1)
要以任何方式填充整个数组,但已经定义的数组,您必须知道数组的长度。这样做有两种选择。您可以预设一个确定的数组长度和宽度,
Object[][] array = new Object[3][27];
或者您可以向应用程序用户询问一个。
System.out.print("Please enter an array length and column length: ");
int m = input.nextInt();
int x = input.nextInt();
Object[][] array = new Object[m][x];
了解阵列大小后
// If you are initializing by user input, then
System.out.println("Enter column one: ");
for (int i = 0; i < array.length; i++){
for (int j = 0; j < array[i].length; j++){
array[i][j] = input.nextLine();
}
}
// Will not end until the column has finished by filled with the added user input.
// You will loop until your entire array.length is filled
// Same basic principle if you are not looking to use user input.
for (int i = 0; i < array.length; i++){
for (int j = 0; j < array[i].length; j++){
array[i][j] = someObject; // someObject meaning some predetermined value(s)
}
}
希望这有帮助!
答案 1 :(得分:0)
Java没有特定的构造函数来执行您要求的任务,但是您可以使用for循环来解决您的问题。
for (int i = 0; i < columns; i++){
for(int j = 0; j < rows ; j++){
array[j][i] = “word” //initialize with some value
}
}
使用此代码,您可以逐列初始化数组。