ciao è da poco che sto imparando java e non capisco perchè questo esercizio mi da un eccezione di tipo NumberFormatException.Il testo è:
crea una stringa del tipo: esame#cfu#voto,usando il metodo useDelimiter della classe Scanner.
La mia soluzione è:
codice:
import java.util.Scanner;
class TestEsame{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
Scanner r=sc.useDelimiter("#");
String testo = r.nextLine();
while(!(testo.equals("END"))){
String materia=r.nextLine();
int cfu=Integer.parseInt(r.nextLine());
int voto=0;
if(r.hasNextLine())
voto=Integer.parseInt(r.nextLine());
System.out.println(materia);
System.out.println(cfu);
System.out.println(voto);
}
}
}
il tutto è compilato correttamente ma in esecuzione mi dà l'eccezione NumberFormatException,dovuto dalla strina "END".Perchè non posso usare END?
Poi che differenze c'è tra il metodo useDelimiter della classe scanner e la classe stringtokenizer?