基本上,我試圖能夠讀取由某些條件(\ n \ s)分隔的每一行,並將字符串存儲到節點A和節點B中以用於添加節點,但不知道從哪裏開始或想出該怎麼做。請幫忙! Test.txt的java中的複雜字符串拆分方法
9
4
31,415,926,535
2
0
1,234,567,890
1,734,792
131
1,506,033,005,018,000,029
1,992
基本上,我試圖能夠讀取由某些條件(\ n \ s)分隔的每一行,並將字符串存儲到節點A和節點B中以用於添加節點,但不知道從哪裏開始或想出該怎麼做。請幫忙! Test.txt的java中的複雜字符串拆分方法
9
4
31,415,926,535
2
0
1,234,567,890
1,734,792
131
1,506,033,005,018,000,029
1,992
String#split()
以正則表達式作爲分隔符。
使用正則表達式\D+
它表示一個或多個非數字。
所以只是改變String numbers[]= oneLine.split("\n")
到:
if (oneLine.isEmpty()) {
continue;
}
String numbers[]= oneLine.split("\\D+");
的
public static void main(String[] args) {
try{
String oneLine;
FileReader theFile = new FileReader("src/Test.txt");
BufferedReader inFile = new BufferedReader(theFile);
Node A = new Node(0,null);
while((oneLine = inFile.readLine()) != null) {
String numbers[]= oneLine.split("\n");
for (int i=0;i<numbers.length;i++){
int a = Integer.parseInt(numbers[i]);
A.addNumtoNode(a); } } }
public void addNumtoNode(int e){
head = new Node(e,head);
if (size == 0)
tail = head;
size++;
}
樣我覺得這個節目應該分開使用行 ''。 readLine()按行分割文本,然後你需要用','分隔的那一行的數字。
如果我使用','那麼它會給我錯誤時讀第一行..所以我需要確保應用一些條件,如空格,輸入或',' – Evansiauw
爲節點自定義類?如果是這樣,那麼請張貼它 – opensam
第三個非空白行應該是一個數字(31415926535),還是四個數字?無論如何,我不知道你在做什麼。你談論添加節點,但不要告訴我們Node是什麼。我們不知道您期望得到什麼結果,或者爲什麼它不起作用。我不知道「被某些條件分開」是什麼意思,我不知道你的問題在做什麼。我不知道「節點添加」是什麼意思。基本上,你沒有給我們任何工作。 – ajb
這是行號4,應該是4個數字。例如31 - > 415 - > 926 - > 535添加到節點2 – Evansiauw