使用循环填充多维数组(NetBeans IDE 8.2)

时间:2018-04-11 22:21:55

标签: java arrays for-loop multidimensional-array netbeans-8

我试图填充两个2乘2的数组,一个是String,另一个是整数。

package javaapplication24;
import java.util.Scanner;
/**
 *
 * @author Joshua
 */
public class JavaApplication24 {

/**
 * @param args the command line arguments
 */
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
String[][] arrString;
arrString = new String[2][2];
int[][] arrInt;
arrInt = new int[2][2];
for(int a = 1; a != 3; a++){
for(int b = 1; b != 3; b++){
System.out.println ("Enter a \"String\" for " +a+ " - " +b+ ".");
arrString[a][b] = sc.next();
}}
for(int a = 1; a != 3; a++){
for(int b = 1; b != 3; b++){
System.out.println ("Enter a \"Integer\" for " +a+ " - " +b+ ".");
arrInt[a][b] = sc.nextInt();  
}}
System.out.println (arrString[1][1] = arrString[1][2] + arrString[2][1] + arrString[2][2]);
System.out.println (arrInt[1][1] + arrInt[1][2] + arrInt [2][1] + arrInt[2][2]);
}}

每次尝试使用循环更改某些内容时,似乎只会转到1 - 2,然后在第28行给出错误。

我不知道还能做些什么来填补其余的阵列插槽。

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

更改最后一行:

System.out.println (arrString[1][1] = arrString[1][2] + arrString[2][1] + arrString[2][2]);
System.out.println (arrInt[1][1] + arrInt[1][2] + arrInt [2][1] + arrInt[2][2]);

到此:

System.out.println (arrString[0][0] = arrString[0][1] + arrString[1][0] + arrString[1][1]);
System.out.println (arrInt[0][0] + arrInt[0][1] + arrInt [1][0] + arrInt[1][1]);

数组索引从0开始,两个矩阵长度都是2,因此两个矩阵的索引将是: 00,01,10,11