[英]How do I get individual characters from read in text file and store them into a 2D array?
[英]I read my text file, now how do I store the values into a 2D array?
如上所述,我已经设法读取文件,我正在寻找一种方法来添加到2D数组。 这是我读到的:
20 10 8
4.5 8.45 12.2
8.0 2.5 4.0
1.0 15.0 18.0
3.5 3.5 3.5
6.0 5.0 10.0
import java.io.*;
import java.util.*;
public class Packages
{
public static void main(String[] args)throws IOException,FileNotFoundException
{
BufferedReader reader = new BufferedReader(new FileReader("Dimensions.txt"));
while (true)
{
String line = reader.readLine();
if(line==null);
{
break;
}
System.out.println(line);
}
reader.close();
}
}
Scanner scanner = new Scanner(line)
。 scanner.next()
下一个是scanner.next()
或scanner.nextDouble()
。 lineNumber
和doubleCount
的计数,将每个数组放入其给定位置的数组中。 如果您不知道尺寸大小,则必须执行一个循环计算每一行,另一个循环计算该行中的双精度数。 以下解决方案使用2D数组来存储文件中的数字。 如果您的输入结构既已知且定义明确,那么这将是一个合适的解决方案。 我的意思是每行有三个数字,你也知道有多少行。 如果没有,那么您可能希望在此处使用Java集合类。
public static void main(String[] args) throws IOException, FileNotFoundException {
// change this value to whatever row count you actually have
int NUM_ROWS = 100;
double[][] array = new double[NUM_ROWS][3];
BufferedReader reader = new BufferedReader(new FileReader("Dimensions.txt"));
int counter = 0;
while (true) {
String line = reader.readLine();
if (line == null) break;
String[] parts = line.trim().split("\\s+");
for (int i=0; i < 3; ++i) {
array[counter][i] = Double.parseDouble(parts[i]);
}
System.out.println(line);
++counter;
}
reader.close();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.