Java 按行打印数组的内容&;柱状
以下是代码:Java 按行打印数组的内容&;柱状,java,java.util.scanner,Java,Java.util.scanner,以下是代码: import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class ReadFileContents { public static void main(String[] args) throws IOException { Scanner s = new S
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class ReadFileContents {
public static void main(String[] args) throws IOException {
Scanner s = new Scanner(new File("rfg.txt"));
List<float[]> list = new ArrayList<float[]>();
while (s.hasNextLine()) {
String[] line = s.nextLine().split(" ");
list.add(new float[] { Float.parseFloat(line[0]),Float.parseFloat(line[1]),Float.parseFloat(line[2]) });
}
int numberOfRows = list.size();
int numberOfColumns = 3;
float[][] floatValues = new float[numberOfRows][numberOfColumns];
for (int i = 0; i < numberOfRows; i++) {
floatValues[i] = list.get(i);
System.out.println(floatValues[i][0] + " " + floatValues[i][1] + " " + floatValues[i][2]);
}
}
}
它只给出了3列的o/p:
但是我想打印与file中给定的维度相同的文件(具有“n*m”维度的文件)。可以根据给定的文件更改维度。如果我理解正确,您希望使用浮点值矩阵解析文件。您希望通过读取文件并将其存储在
float[][]
中来确定尺寸。我相信你想要的是:
File file = new File("rfg.txt");
List<float[]> list = new ArrayList<float[]>();
Scanner scanner = new Scanner(file).useDelimiter("\n");
while (scanner.hasNext()) {
String[] values = scanner.next().trim().split(" ");
float[] floats = new float[values.length];
for (int i = 0; i < values.length; i++) {
floats[i] = Float.parseFloat(values[i]);
}
list.add(floats);
}
float[][] values = new float[list.size()][];
for (int i = 0; i < list.size(); i++) {
values[i] = list.get(i);
for (int j = 0; j < values[i].length; j++) {
System.out.print(values[i][j] + " ");
}
System.out.println();
}
File File=new文件(“rfg.txt”);
列表=新的ArrayList();
Scanner Scanner=新的扫描仪(文件).useDelimiter(“\n”);
while(scanner.hasNext()){
字符串[]值=scanner.next().trim().split(“”);
float[]floats=新的float[values.length];
对于(int i=0;i
您只能从文本文件中读取3列。如果列数是动态的,则可以使用如下循环:
while (s.hasNextLine()) {
String[] line = s.nextLine().split(" ");
float[] f = new float[line.length];
for(int i = 0; i < line.length; i++){
float[i] = float.parseFloat(line[i]);
}
list.add(f);
numColumns = line.length;
}
while(s.hasNextLine()){
String[]line=s.nextLine().split(“”);
float[]f=新的float[line.length];
对于(int i=0;i
这样,列数就变成了文件中的列数。代码给出了三列,因为您只分析了三个字段?我还是不明白你的问题。是否要再次打印相同的内容?
while (s.hasNextLine()) {
String[] line = s.nextLine().split(" ");
float[] f = new float[line.length];
for(int i = 0; i < line.length; i++){
float[i] = float.parseFloat(line[i]);
}
list.add(f);
numColumns = line.length;
}