Ciao ho un problema con la classe Stringtokenizer; devo costruire una classe Blocchi che pone uno sull'altro
dei blocchi cubici della stessa dimensione

codice:
class Torri{
String nome;
int blocchi;
/**- un costruttore che costruisce una torre di cui viene specificato il nome e 
  il numero di blocchi.

- un costruttore che costruisce una torre di cui viene specificato il nome e non contiene blocchi.
*/
Torri(String nome,int numblocchi){
    this.nome=nome;
    this.blocchi=numblocchi;
}
Torri(String nome){
    this(nome,0);
}
/**aggiungi(n)

Aggiunge alla torre n blocchi*/
public int aggiungi(int nblocchi){
    blocchi+=nblocchi;
    return blocchi;
 }
 /**togli(n) 

Toglie dalla torre n blocchi.
Se la torre ha meno di n blocchi, vengono tolti tutti i blocchi.*/
public void togli(int nblocchi){
blocchi-=nblocchi;
if(blocchi<nblocchi){
    blocchi=0;
}else
blocchi-=nblocchi;

}
/**somma(t)

Restituisce la torre ottenuta sommando alla torre che esegue il metodo la torre t
specificata dall'argomento.*/
public int somma(Torri t){
    int somma=0;
    somma+=blocchi+t.blocchi;
    return somma;
}
/**toString()

Restituisce una stringa della forma

 "nome_torre: numero_blocchi"

Ad esempio, se la torre ha nome "alfa" e contiene 5 blocchi, restituisce la stringa

 "alfa: 5" 

*/
public String toString(){
    String s="";
    s+=nome+": "+blocchi;
    return s;
}
}
Il problema è da main:devo leggere da standard input una sequenza
di linee. Ciascuna linea puo' contenere uno o piu' elementi separati da uno spazio.Le operazioni associate all'input sono le seguenti.
1) La linea di input ha la forma

N nome n

Viene costruita una nuova torre avente il nome specificato e composta da n blocchi
(si assume n >= 0).

Ad esempio, se la linea e'

N alfa 5

dovra' essere costruita una nuova torre di nome "alfa" avente 5 blocchi.

2) La linea di input ha la forma

A n

Vengono aggiunti all'ultima torre creata al punto 1 n blocchi
(usare metodo aggiungi).

Ad esempio,

A 3

significa aggiungere 3 blocchi alla torre.

codice:
import java.util.*;
class ProvaBlocchi{
public static void main(String [] args){
    Scanner sc=new Scanner(System.in);
    String y=sc.nextLine();
    StringTokenizer st=new StringTokenizer(y," ");
    while(st.hasMoreTokens()){
        String s=st.nextToken();
    String i=st.nextToken();
    int num=Integer.valueOf(st.nextToken());
    Torri t=new Torri(i,num);
    int somm=0;
     if(s.equals("A")){
        int num1=Integer.valueOf(st.nextToken());
        int q=t.aggiungi(num1);
        Torri t1=new Torri(i,q);
        somm+=t.somma(t1);
        System.out.println(somm);
}

 y=sc.nextLine();
}


}

}
Il problema è dal main;infatti il programma mi compila tutto correttamente ma non mi stampa niente...perchè?