java二维数组赋值问题
for(;i<2*a+1;i++){for(;j<2*a+1;j++)b[i][j]=“*”;}为什么只有b[0][j]那一列有,其他没有?????Scannerin=n...
for (; i < 2 * a +1; i++)
{
for (; j < 2 * a+1; j++)
b[i][j]=“*”;
}
为什么只有b[0][j]那一列有,其他没有?????
Scanner in=new Scanner(System.in);
int a=in.nextInt();
String [][]b=new String [2*a+1][2*a+1];
int i=0,j=0;
for (; i < 2 * a +1; i++)
{
for (; j < 2 * a+1; j++)
b[i][j]="*";
}
相输出一个星矩形 展开
{
for (; j < 2 * a+1; j++)
b[i][j]=“*”;
}
为什么只有b[0][j]那一列有,其他没有?????
Scanner in=new Scanner(System.in);
int a=in.nextInt();
String [][]b=new String [2*a+1][2*a+1];
int i=0,j=0;
for (; i < 2 * a +1; i++)
{
for (; j < 2 * a+1; j++)
b[i][j]="*";
}
相输出一个星矩形 展开
展开全部
上面的代码除去语法的问题不说,基本没有上下文,所以完全看不出是哪出了问题。请你把代码贴全才能帮你解答问题,好吗?
因为j在i=0的外层循环中已经到了最大值,于是i=1时j的循环不会执行。
所以以后千万别犯这个错,最好是在for里面声明循环变量。
用下面的代码就可以了。
Scanner in = new Scanner(System.in);
int a = in.nextInt();
String[][] b = new String[2 * a + 1][2 * a + 1];
for (int i = 0; i < 2 * a + 1; i++) {
for (int j = 0; j < 2 * a + 1; j++) {
b[i][j] = "*";
}
}
for (int i = 0; i < 2 * a + 1; i++) {
for (int j = 0; j < 2 * a + 1; j++)
System.out.print(b[i][j]);
System.out.println();
}
因为j在i=0的外层循环中已经到了最大值,于是i=1时j的循环不会执行。
所以以后千万别犯这个错,最好是在for里面声明循环变量。
用下面的代码就可以了。
Scanner in = new Scanner(System.in);
int a = in.nextInt();
String[][] b = new String[2 * a + 1][2 * a + 1];
for (int i = 0; i < 2 * a + 1; i++) {
for (int j = 0; j < 2 * a + 1; j++) {
b[i][j] = "*";
}
}
for (int i = 0; i < 2 * a + 1; i++) {
for (int j = 0; j < 2 * a + 1; j++)
System.out.print(b[i][j]);
System.out.println();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有详细代码吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的a=多少?
你用 System.out.println(i)把I,打出来看看,没有变化;跟踪一下;
你用 System.out.println(i)把I,打出来看看,没有变化;跟踪一下;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询