我是java的新手,所以如果有明显的错误请忽略。如果我的问题似乎多余,那么请引导我走向正确的链接。但是,为了找到答案,我已经足够了 我正在读取输入文件并将其元素存储在2D数组中。我想要做的是将该数组拆分为2个独立的数组。第一个数组将包含我的代码中“firstDimension”的所有字符。现在,我想要另一个数组,它存储数组中的所有整数。我只需要打印那些数组。应该在特殊字符'>'后立即创建此数组被观察到 这可以通过两种方式完成:
读取文件中的字符串并将所有元素存储在2D数组中,然后将数组分成1个double和1个2D char数组
从文件中只读字符并将其存储在字符数组中,然后只从文件中读取双值并将其存储在不同的数组中。
我的输入文件有文字:
a A b u>0.0001 b b X g>0.0005 Y z N H>0.0003
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
public class Delimiter {
public static void main(String[] args)
{
try {
Scanner scanner = new Scanner(new File("hello.txt"));
scanner.useDelimiter(System.getProperty("line.separator"));
ArrayList<String> list = new ArrayList<String>();
while (scanner.hasNext()) {
list.add(scanner.next());
}
scanner.close();
// finally convert the arraylist to a char[][]
char[][] firstDimension = new char[list.size()][];
for (int i = 0; i < list.size(); i++) {
firstDimension[i] = list.get(i).toCharArray();
}
for (int i = 0; i < firstDimension.length; i++)
{
for (int j = 0; j < firstDimension[i].length; j++)
{
//System.out.println(firstDimension[i][j]);
System.out.print(" "+firstDimension[i][j]);
System.out.println("");
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
我不知道是否有任何方法可以帮助您,但您可以说
if(var == 0 || 1 || 2 || 3 || 4 || 5 ) //all the way until you reach 9
{
//is a number and needs to be put in the double array
}
else //is a string
由于您将数据存储在数组中,因此可能必须使用BinarySearch方法。