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:
Perchè come output mi preleva solo il primo numero. Sembrerà banale ma sono in crisicodice: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); } }![]()

Rispondi quotando

