好的,基本上我想将字符串中的元素与 int 和 char 值分开,同时保留在数组中,但老实说,最后一部分不是必需的,如果我需要将值分成两个不同的数组,那就这样吧,id就像为了整洁而把它们放在一起。这是我的输入:
5,4,A
6,3,A
8,7,B
7,6,B
5,2,A
9,7,B
现在我到目前为止的代码通常可以完成我想要它做的事情,但并不完全
这是我设法用我的代码产生的输出,但这是我卡住的地方
54A
63A
87B
76B
52A
97B
这是有趣的部分,我需要获取数字和字符值并将它们分开,以便我可以在比较/数学公式中使用它们。
基本上我需要这个
int 5, 4;
char 'A';
但当然存储在它们所在的数组中。这是我到目前为止提出的代码。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;
public class dataminingp1
{
String[] data = new String[100];
String line;
public void readf() throws IOException
{
FileReader fr = new FileReader("C:\\input.txt");
BufferedReader br = new BufferedReader(fr);
int i = 0;
while ((line = br.readLine()) != null)
{
data[i] = line;
System.out.println(data[i]);
i++;
}
br.close();
System.out.println("Data length: "+data.length);
String[][] root;
List<String> lines = Files.readAllLines(Paths.get("input.txt"), StandardCharsets.UTF_8);
root = new String[lines.size()][];
lines.removeAll(Arrays.asList("", null)); // <- remove empty lines
for(int a =0; a<lines.size(); a++)
{
root[a] = lines.get(a).split(" ");
}
String changedlines;
for(int c = 0; c < lines.size(); c++)
{
changedlines = lines.get(c).replace(',', ' '); // remove all commas
lines.set(c, changedlines);// Set the 0th index in the lines with the changedLine
changedlines = lines.get(c).replaceAll(" ", ""); // remove all white/null spaces
lines.set(c, changedlines);
changedlines = lines.get(c).trim(); // remove all null spaces before and after the strings
lines.set(c, changedlines);
System.out.println(lines.get(c));
}
}
public static void main(String[] args) throws IOException
{
dataminingp1 sarray = new dataminingp1();
sarray.readf();
}
}
我想尽可能轻松地做到这一点,因为我与 Java 并没有太远,但我正在学习,所以如果需要,我可以通过一个困难的过程来管理。提前感谢您提供的任何帮助。由于它的简单性,真正开始喜欢 java 作为一门语言。
这是对我的问题的补充,以消除任何混淆。我想要做的是获取存储在我在 code/input.txt 中的字符串数组中的值,并将它们解析为不同的数据类型,例如字符的 char 和整数的 int。但我不确定目前该怎么做,所以我要问的是,有没有办法同时解析这些值,而不必将它们分成不同的数组,因为我不确定 id 是如何做到的,因为它会很疯狂遍历输入文件并准确找到每个 char 的开始位置和每个 int 的开始位置,我希望这能澄清一点。