gpt4 book ai didi

java - 输入带有 double 的二维数组中的文本文件

转载 作者:行者123 更新时间:2023-12-01 12:04:04 25 4
gpt4 key购买 nike

我是 Java 新手。我想输入一个文本文件并从中创建一个二维数组,输入是像这样

12,242 323,2324
23,4434 23,4534
23,434 56,3434
....
34,434 43,3443

我已经尝试过

import java.util.Scanner;

import java.io.File;
import java.io.IOException;

public class InputText {

/**
* @param args the command line arguments
* @throws java.io.IOException
*/
public static void main(String[] args) throws IOException {
int i=0;
File file;
file = new File("file.txt");
Scanner read=new Scanner(file);

while (read.hasNextLine()) {
String line=read.nextLine();
System.out.println(line);
}
}
}

它为我提供了输入,但我无法将其插入数组中,我尝试了不同的方法,例如拆分它。

有什么建议吗?抱歉没说清楚。我提到的输入是用空格分隔的 double 。另外,我给你的格式是我运行我编写的程序的一部分后得到的。我在文本文件中看到的是用空格分隔的数字。我尝试实现你的建议,但似乎没有任何效果。我真的迷失在这里......

最佳答案

如果你想将一行分成两个数字,你可以使用

string[] numbers = line.split("\\s+");

如果你想读取带逗号的 double 值

NumberFormat format = NumberFormat.getInstance(Locale.FRANCE);
...
double d1 = format.parse(numbers[0]).doubleValue();
double d2 = format.parse(numbers[1]).doubleValue();

我个人更喜欢使用扫描仪。在这种情况下,使用

创建它
Scanner scanner = new Scanner(file);

while (scanner.hasNextLine()) {
Scanner scanner2 = new Scanner(scanner.nextLine()).useLocale(Locale.FRANCE);
if (!scanner2.hasNextDouble()){
System.out.println("Do not have a pair");
continue;
}
double d1 = scanner2.nextDouble();
if (!scanner2.hasNextDouble()){
System.out.println("Do not have a pair");
continue;
}
double d2 = scanner2.nextDouble();
//do something
}

关于java - 输入带有 double 的二维数组中的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27780566/

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