Oppure

Loading
13/04/10 13:58
Luk3
Salve :)
Con questo codice mi da errore alle righe:

out.print("\nInserisci l'operatore (+, -, *, /): ");
op = in.nextLine().charAt(0);


Ecco il codice:
import java.util.Scanner;
import java.io.PrintStream;

public class Main {

	
	public static void main(String[] args) {
		
		Scanner in = new Scanner(System.in);
		PrintStream out = new PrintStream(System.out);
		Calcoli math = new Calcoli();
		int num1, num2;
		char op;
		
		out.println("****************************************");
		out.println("*             CALCOLATRICE             *");
		out.println("****************************************\n");
		
		out.print("Inserisci il primo numero: ");
		num1 = in.nextInt();
		
		out.print("\nInserisci l'operatore (+, -, *, /): ");
		op = in.nextLine().charAt(0);
		
		out.print("\nInserisci il secondo numero: ");
		num2 = in.nextInt();
		
		switch (op)
		{
		case '+' : out.printf("Il risultato è: %d", math.Addizione(num1, num2)); break;
		case '-' : out.printf("Il risultato è: %d", math.Sottrazione(num1, num2)); break;
		case '*' : out.printf("Il risultato è: %d", math.Moltiplicazione(num1, num2)); break;
		case '/' : out.printf("Il risultato è: %d", math.Divisione(num1, num2)); break;
		}
		

	}

}


L'errore è: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
    at java.lang.String.charAt(Unknown Source)
    at Main.main(Main.java:23)

Non capisco perchè :-|
Ultima modifica effettuata da Luk3 13/04/10 13:59
aaa
13/04/10 16:36
nihal
Perchè non provi a usare in.next() al posto di in.nextLine() ?
aaa
13/04/10 18:30
Luk3
Boh ma comunque funziona^^
aaa
13/04/10 19:39
nihal
Bè, per ottenere delle String con oggetti Scanner di solito si usa il metodo next() :k:
aaa