1
我想建立一個計算器沒有任何運營商,涉及到本身我試圖解決(比較運營商和循環與運營商都很好)。 問題是,Eclipse是顯示該控制檯:Java - 沒有顯示任何錯誤沒有運營商沒有運行的計算器
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Calculator.addOne(Calculator.java:22)
at Calculator.add(Calculator.java:78)
at Program.main(Program.java:8)
這是我的代碼 - 計算器類:http://pastebin.com/jLGe6atB
我的main()方法:
public class Program {
public static void main(String[] args) {
Calculator calculator1 = new Calculator(8135, 6);
calculator1.add();
}
}
誰能告訴我,我有什麼問題? (請不要問我爲什麼要這樣做,這只是爲了好玩)
謝謝你,併爲你的時間感到抱歉。
請求:「後的add()和addOne()請在這裏:
public int addOne(int DigitArray)
{
String stringNum1 = Integer.toString(DigitArray);
String[] arrNum1 = stringNum1.split("");
int[] newArrNum1 = new int[arrNum1.length];
for (int i = 0; i < arrNum1.length; i++) {
newArrNum1[i] = Integer.parseInt(arrNum1[i]);
}
int lastDigit = newArrNum1[newArrNum1.length-1];
switch(lastDigit)
{
case 0:
lastDigit = 1;
System.out.println(lastDigit);
return lastDigit;
case 1:
lastDigit = 2;
System.out.println(lastDigit);
return lastDigit;
case 2:
lastDigit = 3;
System.out.println(lastDigit);
return lastDigit;
case 3:
lastDigit = 4;
System.out.println(lastDigit);
return lastDigit;
case 4:
lastDigit = 5;
System.out.println(lastDigit);
return lastDigit;
case 5:
lastDigit = 6;
System.out.println(lastDigit);
return lastDigit;
case 6:
lastDigit = 7;
System.out.println(lastDigit);
return lastDigit;
case 7:
lastDigit = 8;
System.out.println(lastDigit);
return lastDigit;
case 8:
lastDigit = 9;
System.out.println(lastDigit);
return lastDigit;
case 9:
lastDigit = 0;
updateNumberPlus(lastDigit, arrNum1, newArrNum1);
System.out.println(lastDigit);
return lastDigit;
default:
return lastDigit;
}
}
public int add()
{
int i = 0;
while(i <= num2)
{
i++;
this.addOne(num1);
if(i == num2)
{
result = 0;
System.out.print(result);
return result;
}
}
return result;
}
感謝,還剩7分剔它作爲一個答案。有效。 – shohamh
沒問題。你可能會考慮使用'String.charAt(0)',然後'String.substring(1)'查詢字符串中的每個字符,這對我來說似乎是一個稍微乾淨一點的方法。 – lynks