如果我使用相同的代码,但是将ArrayList
类型更改为String
,则一切正常。我需要从文件输入的数据位于double
(类型)中,以便我可以对其进行处理。我正在从具有多行和6 elements per row
由]分隔的逗号(',')(不包含“,”的文本文件中读取数据行的结尾。示例:
7.4,2.127,121.4,101,81,0.88.3,1.736,137.2,101,81,0.811.8,4.25,108.5,100.4,67,1.910.5,4.141,147.1,99.8,79,1.7
import java.io.*; import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) throws FileNotFoundException { Scanner scan = new Scanner (new File("databasee.txt")); ArrayList<Double> var1 = new ArrayList<>(); ArrayList<Double> var2 = new ArrayList<>(); ArrayList<Double> var3 = new ArrayList<>(); ArrayList<Double> var4 = new ArrayList<>(); ArrayList<Double> var5 = new ArrayList<>(); ArrayList<Double> var6 = new ArrayList<>(); scan.useDelimiter(",|\n"); for (int i = 0; i<1456; i ++) { var1.add(scan.nextDouble()); var2.add(scan.nextDouble()); var3.add(scan.nextDouble()); var4.add(scan.nextDouble()); var5.add(scan.nextDouble()); var6.add(scan.nextDouble()); System.out.println( var1.get(i) + " " + var2.get(i) + " " + var3.get(i) + " " + var4.get(i) + " " + var5.get(i) + " " + var6.get(i)); } scan.close(); } }
如果我使用相同的代码,但将ArrayList类型更改为String,则一切正常。我需要从文件输入的数据为双精度(类型),以便可以对其进行处理。我正在从...
我没有对第一台扫描仪使用分号,因此它使用scan.next()读取每一行,我使用其String为每行创建另一台扫描仪,第二台扫描仪使用分号“,”(逗号)进行分隔,然后我使用nextDouble()读取并将其存储在临时di变量中,以存储在数组列表中并打印。
而不是使用单独定义多个ArrayList的方法,可以使用类似这样的方法
我建议您阅读一行并以逗号分隔