Вот мой код:Java ArrayList Строка Разделение
import java.util.ArrayList;
public class SplitString
{
public static void main(String[] args)
{
String s = "80+5+3*(11%(3*2)-(5+1)+6)-(10+10)+(2*2)*5";
ArrayList<String> equation = new ArrayList<>();
String ns = "";
String b;
int nsi;
for(int c=0; c<s.length(); c++)
{
b = s.substring(c,c+1);
switch (b) {
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
ns += b;
break;
case "+":
case "-":
case "*":
case "/":
case "%":
case "(":
case ")":
nsi = Integer.parseInt(ns);
equation.add(Integer.toString(nsi));
equation.add(b);
ns = "";
break;
}
for(int i=0; i<equation.size(); i++)
{
System.out.print(equation.get(i));
}
}
}
}
Я пытаюсь разбить строку s на отдельные числа и операторов в пределах ArrayList
таким образом, что если число как 00080
введен, его будет принимать число как 80
. Но у меня возникают проблемы, и когда я запускаю это, это дает мне:
Exception in thread "main" java.lang.NumberFormatException: For input string: "" 80+80+80+5+80+5+80+5+3* at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:504) at java.lang.Integer.parseInt(Integer.java:527) at stringequationfull.StringEquationFull.main(StringEquationFull.java:42) Java Result: 1
Что я делаю неправильно?
Вы уверены, что хотите использовать переключатель? – Aboutblank