java键盘输入二维数组 为什么报错说越界
importjava.util.Scanner;publicclassPro4{publicstaticvoidmain(Stringargs[]){Scannerkey...
import java.util.Scanner;
public class Pro4
{
public static void main(String args[])
{
Scanner keyboard = new Scanner(System.in);
final int r = 4;
final int c = 6;
int [][]userVals = new int[r][c];
System.out.println("Enter sales figures: ");
for(int i = 0; i<userVals.length; i++)
{
for(int j = 0; j<userVals[r].length;j++)
{
userVals[i][j] = keyboard.nextInt();
}
}
for(int i = 0; i<userVals.length;i++)
for(int j = 0; j<userVals[r].length;j++)
System.out.println(userVals[i][j]);
}
}
报错原因是数组越界,为什么呢? 展开
public class Pro4
{
public static void main(String args[])
{
Scanner keyboard = new Scanner(System.in);
final int r = 4;
final int c = 6;
int [][]userVals = new int[r][c];
System.out.println("Enter sales figures: ");
for(int i = 0; i<userVals.length; i++)
{
for(int j = 0; j<userVals[r].length;j++)
{
userVals[i][j] = keyboard.nextInt();
}
}
for(int i = 0; i<userVals.length;i++)
for(int j = 0; j<userVals[r].length;j++)
System.out.println(userVals[i][j]);
}
}
报错原因是数组越界,为什么呢? 展开
1个回答
展开全部
for(int j = 0; j<userVals[r].length;j++)
r=4编程 userVals[4][] 角标越界
改成
for(int j = 0; j<userVals[r-1].length;j++)
因为userVals[3][5]最大角标
望采纳
r=4编程 userVals[4][] 角标越界
改成
for(int j = 0; j<userVals[r-1].length;j++)
因为userVals[3][5]最大角标
望采纳
追问
我自己解决了 谢谢您了
追答
System.out.println();表示输出换行
System.out.print();表示输出
你有输出时的for循环,自己运用这两个就可以。。也可以运用if语句判断是最后一个就换行,不是就不换行。。自己想想,钻研一下吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询