我目前正在开展一个项目,并且陷入了下一步的困境。我应该让程序从一个文件读取多列数据,每个文件都有一个单独的字符串数组。我已经设法让它单独接受每一行并正确打印,但我不知道如何让它读取列以便以后操作。这是我到目前为止所拥有的;
import java.util.Scanner;
import java.io.IOException;
import java.io.File;
import java.io.FileNotFoundException;
public class HurricaneData {
public static void main(String[] args) throws IOException {
int line = 1;
File inputFile = new File("hurcdata2.txt");
Scanner inFile = new Scanner(inputFile);
String hurricane;
while(inFile.hasNext()){
for(int i=0; i<5; i++){
hurricane = inFile.next();
System.out.print(hurricane + " ");
} //end for
System.out.println();
} //end while
} //end main
} //end class
这给了我; &#34; 1980年8月945 100艾伦&#34;在一条线上,&#34; 1983年8月962 100 Alicia&#34;在下一个,等等。我正在寻找的是一种将每个列读入单独的一维数组的方法。我知道我可以以某种方式使用多维数组,但具体说明将其限制为一维。任何和所有的帮助都表示赞赏,即使它对我大喊大叫并说这段代码有多愚蠢。 :)谢谢!!!
答案 0 :(得分:0)
您无法逐列阅读,但如果您知道每行有多少列,则可以相应地拆分字符串,在您的情况下,看起来String[] columns = hurricane.split(" ")
将起作用。它会将每个具有分隔符的项目(在本例中为单个空格)添加为字符串数组中的单个元素,因此&#34; foo bar&#34;将是[foo,bar],有意义吗?