Ciao a tutti sto imparando da poco il linguaggio java e sono incappata in un problema :
scrivi un programma che calcoli la somma e la differenza di n numeri inseriti da terminale;
i numeri e gli operatori sono separati tra di loro da uno o più spazi.
es: 1 + 3 - 4 + 12 + 2 - 10 - 1
e va stampato:3
Ho scitto il programma:
codice:
import java.util.StringTokenizer;
import java.util.Scanner;
class Calcolatore{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
String numeri=sc.nextLine();
StringTokenizer st = new StringTokenizer(numeri," ");
int somma=0;
while(st.hasMoreTokens()){
String f=st.nextToken();
int n=Integer.parseInt(f);
if(f.equals("+")){
somma=somma+n;
}else if(f.equals("-")){
somma=somma-n;
}
}
System.out.println(somma);
}
}
Perchè come output mi preleva solo il primo numero. Sembrerà banale ma sono in crisi