Ho fatto questo programmino idiota....metti 1 e ti stampa HELLO WORLD e metti 2 e ti stampa nome e cognome

codice:
import java.io.IOException;


public class Prova {
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String helloworld = "Hello World";
		String nome = "nome cognome";
		byte b[] = new byte[3];
		
		while (true){
			
			System.out.print("Fai la tua scelta:");
			
			try {
				System.in.read(b);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		
			
			if (b[0]== '1')
				System.out.println(helloworld);
			else if(b[0] == '2')
				System.out.println(nome);
			else break;
		
		}
}
}
Il dubbio è...se invece di 3 byte lo inizializzo a 2 oppure a 1 riesco a fare solo una stampa poi esce di nuovo FAI LA TUA SCELTA e si blocca.....non riesco a venire a capo di sta cosa :master: