int fnum = Integer.parseInt(split[0]);// holds 5
//split[] holds each line of the file.
double sum = fnum;// sum = 5
double i = 0.0;
double last = 0.0;
for(int j = 1; j<(split.length-1);j++)
{
i = Integer.parseInt(split[j].replaceAll("[^0-9]", ""));
if(split[j].charAt(0) == '*')
{
sum = sum * i;
}
else if(split[j].charAt(0) == '/')
{
sum = sum/i;
}
else if(split[j].charAt(0) == '+')
{
sum = sum + i;
}
else if(split[j].charAt(0) == '-')
{
sum = sum - i;
}
else if(split[j].charAt(0) == '%')
{
sum = sum % i;
}
}
System.out.println(sum);// Prints 1.0
}
}
/*
Actual Data File Imported
5
+ 3
* 7
+ 10
* 2
* 3
+ 1
% 11
Answer should be : 1
*/
好吧我的代碼可能看起來很亂,但我努力了。放棄了幾次,但再次嘗試。我的問題是較小的數據集,例如我在最後幾行導入並註釋了代碼的那些數據集,工作正常。但是對於更大的數據集,這完全是錯誤的,爲什麼呢?我試圖讓我的數據集翻倍以獲得更大的值,但不知怎的,這是錯誤的? 我是迄今爲止的初學者,任何幫助將不勝感激。
爲了更具體地解決我導入文件的問題,我將它全部作爲一個字符串,然後我將它全部添加到一個字符串數組中,因此每行都在字符串數組中,例如split [1]將打印+ 3.之後,我將if循環中的數字和符號隔離在for循環中,以遍歷所有集合。現在if循環捕獲這些符號,然後進行適當的算術運算。 SomeHow它沒有通過?我用了一個double來代替int。這沒有幫助。我相信if語句可能是問題。CodeAbbey挑戰14數據錄入問題?
我認爲你應該看看更好地隔離這個指南的問題:https://stackoverflow.com/help/mcve。 –
我使它更具體,將問題縮小到for-loop – JustForLong
這不是他想到的--Mcve :) – Antoniossss