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?