gpt4 book ai didi

java - 似乎无法将文件读入矩阵?

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:11 24 4
gpt4 key购买 nike

public void getMatrix() throws FileNotFoundException{

File file = new File("C:/Users/Cameron/Desktop/words.txt");
String largest =" ";
int col = 0;
int count=0;

Scanner sc = new Scanner(file);
Scanner newsc = new Scanner(file);

while (sc.hasNextLine()) {
String i = sc.nextLine();
count++;

if(i.length()>largest.length()){
largest=i;
col = largest.length();

}

}

int rows = (int)(Math.random()*count +1);

String data[][] = new String[rows][col];

while(newsc.hasNextLine()){
String c = newsc.nextLine();

for(int i=0; i<rows; i++){
for(int j=0; j<col; j++ ){

data[i][j] = c;

}
}
}

for(int r=0; r<data.length; r++)
{
for(int c=0; c<data[0].length; c++)
{
System.out.print(data[r][c]+" ");
}
System.out.println(); //Moves to next line
}

}

我正在尝试从文件中读取单词(目前,我需要稍后将它们设为字符),但我在将单词读入矩阵时遇到问题。矩阵应该是随机大小的,但它应该考虑到要读入的单词设置范围中的最长单词。我得到了矩阵列的最长单词的长度,然后根据文件中的单词数得到了行的随机数。每当我打印矩阵时,它只会在整个过程中打印一个单词。我知道这是因为 while 循环和双 for 循环组合只接受文件的第一个单词,但我似乎无法找到修复它的方法。

这是我想看到的(在一定程度上):

ladybug hamburger lettuce computer compiler java cologne
book encyclopedia dictionary guitar euphonium nutcracker
mouthpiece outlet calculus lightsaber

这是我实际看到的(在一定程度上):

lightsaber lightsaber lightsaber lightsaber lightsaber lightsaber
lightsaber lightsaber lightsaber lightsaber lightsaber lightsaber
lightsaber lightsaber lightsaber lightsaber lightsaber lightsaber
lightsaber lightsaber lightsaber lightsaber lightsaber lightsaber

最佳答案

在此代码中

while(newsc.hasNextLine()){
String c = newsc.nextLine();

for(int i=0; i<rows; i++){
for(int j=0; j<col; j++ ){

data[i][j] = c;

}
}
}

您正在将 data 的每个值替换为 c

尝试

    for(int i=0; i<rows; i++){

for(int j=0; j<col; j++ ){

if (newsc.hasNextLine()){
String c = newsc.nextLine();
data[i][j] = c;
}

}
}

最后循环也应该是

for(int r=0; r<data.length; r++)
{
for(int c=0; c<data[r].length; c++)
{
System.out.print(data[r][c]+" ");
}
System.out.println(); //Moves to next line
}

关于java - 似乎无法将文件读入矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35906157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com