我正在尝试让我的程序在1000-9999之间打印随机数,但我在String.Format
时出现错误。
例如,如果我的程序有效,它将打印出类似这样的内容:
7996 2799 2006 2419 1147
7661 5383 8428 6487 3961
2799 8789 6948 8584 8634
7462 5051 4942 5378 1028
9978 1533 7657 4240 7894
6183 6277 9629 2996 8240
8985 9712 3922 2589 5323
8152 4612 6563 9460 3045
代码
import static java.lang.System.*;
public class SuperRandGame{
public static void main(String args[]){
new Environment();
}}
class Environment
{
private int[][] table;
Environment()
{
populate();
output();
}
public void populate()
{
table = new int[8][5];
for(int r=0;r<table.length;r++)
{
for(int c=0;c<table[0].length;c++)
table[r][c]= String.format("%2d",(int)(Math.random()*8999+1000) + " ");
}
}
public void output()
{
out.println();
for(int r=0;r<table.length;r++)
{
for(int c=0;c<table[0].length;c++)
out.print(String.format("%2d",table[r][c]) + " ");
out.println();
}
out.println();
out.println();
}
}
答案 0 :(得分:3)
String.format()方法返回 String 类型。因此,您无法在 int [] [] 数组中存储字符串类型。
答案 1 :(得分:0)
更改此行(您有两行):
for(int c=0;c<table[0].length;c++)
要:
for(int c=0;c<table[i].length;c++) //Note the index "i"
使用for循环时,您可能会收到索引超出范围的错误。