estoy realizando un programa el cual tiene que recibir varias operaciones entre números en una misma cadena. Por ejemplo:
input [2 + 3 * 2 - 4 / 2]
output (operación por dentro: 2+3=5. 5*2=10. 10-4=6. 6/2=3.) total=3
La cadena debe utilizar split para partir los caracteres y así detectar que símbolo se está utilizando.
Lo que llevo de codigo:
public class UsingSplit {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner entrada = new Scanner (System.in);
String cadena = entrada.nextLine();
String cadenaSeparada [] = cadena.split("\\+");
int suma=Integer.parseInt(cadenaSeparada[0])+Integer.parseInt(cadenaSeparada[1])+Integer.parseInt(cadenaSeparada[2])+Integer.parseInt(cadenaSeparada[3]);
cadenaSeparada = cadena.split("-");
int resta=Integer.parseInt(cadenaSeparada[0])-Integer.parseInt(cadenaSeparada[1])-Integer.parseInt(cadenaSeparada[2])-Integer.parseInt(cadenaSeparada[3]);
System.out.println(Arrays.toString(cadenaSeparada));
cadenaSeparada = cadena.split("\\*");
int multi=Integer.parseInt(cadenaSeparada[0])*Integer.parseInt(cadenaSeparada[1])*Integer.parseInt(cadenaSeparada[2])*Integer.parseInt(cadenaSeparada[3]);
cadenaSeparada = cadena.split("\\/");
int div=Integer.parseInt(cadenaSeparada[0])*Integer.parseInt(cadenaSeparada[1])*Integer.parseInt(cadenaSeparada[2])*Integer.parseInt(cadenaSeparada[3]);
System.out.println(suma);
System.out.println(resta);
System.out.println(multi);
System.out.println(div);`
No encuentro la manera de cómo combinar las operaciones en una sola cadena. Y además quisiera saber si existe alguna forma de no colocar la operación de todas las posiciones del arreglo, puesto que si aparecen 5 números en un arreglo, sólo hará la operación entre los primeros 4.
Agradezco de antemano.