我是2d数组的新手,我试着在所有坐标中输入一个特定的值,所以我做了一个循环,但出于某种原因,它一直运行,直到它说它超出了界限,好像循环没有关闭一样。
import java.util.Scanner;
public class main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter Number of rows: ");
int rows = input.nextInt();
System.out.println("Enter Number or columns: ");
int columns = input.nextInt();
double[][] planets = new double[columns][rows];
int columns_loop = 0;
while (columns_loop <= columns) {
int rows_loop=0;
while (rows_loop<=rows) {
System.out.println("Enter Rainfall (in mm): ");
double rows_input=input.nextDouble();
planets[columns_loop][rows_loop] = rows_input;
rows_loop++;
}
columns_loop++;
}
}
}
2条答案
按热度按时间cqoc49vn1#
这是一个简单的错误,但在使用数组时,索引总是从[0]开始,因此当您调用while循环时,只需将其更改为:
这将修复该错误并正确运行。
tyky79it2#
问题就在你的循环里。见注解。
数组在java中是零基的。