Como é que faço?

Ola ppl, eu queria saber como é que ponho este codigo a funcar caso o utilizador ponha ou 1 ou 2 ou 3 coordenadas, sem que o progrma fique a espera de mais alguma coisa!

[code]Scanner teclado = new Scanner(System.in);

	System.out.println("Tiros:");
	Coordenada tiro[] = new Coordenada[3];
	tiro[0] = new Coordenada(teclado.next().trim());
	tiro[1] = new Coordenada(teclado.next().trim());
	tiro[2] = new Coordenada(teclado.next().trim());
	
	
	for(int i  = 0; i != 3; ++i){
		if (tabuleiro[tiro[i].getLinha()][tiro[i].getColuna()]>='1' && tabuleiro[tiro[i].getLinha()][tiro[i].getColuna()]<='5'){
			System.out.println("Tiro");
		}else System.out.println("Agua");
	}

[/code]

Se conseguirem usem strings!

Opa! Assim que o objeto da classe Scanner executar o ultimo método next() ele passa para a linha de baixo e continua a execução. O método next que é bloqueante. Se você escrever na linha de comando “a aa aaa” ele vai passar para o seu for sem problemas…

O que está acontecendo que ele fica esperando inputs?

o k acontece é k se eu pusser algo do tipo A1 A2, e dpois nao escrever mais nada ele fica a espera de mais um input! e se eu pusser so A1 ele continua a espera de mais 1 input!

O k eu keria era que isto funcionasse assim, por exemplo:
tiros: A1 A2 A3
e dpois passa logo para o for, sem ficar a espera de mais nada, ou entao
tiros: A1 A2
e dpois passa logo para o for, sem ficar a espera de mais nada, ou entao
tiros: A1
e dpois passa logo para o for, sem ficar a espera de mais nada!
ja pensei em fazer isto com uma string só que nao consigo fazer isto com uma string! nao me podem ajudar?

insere esse código

  int i = 0;
      while( teclado.hasNext() ) {
         if( i == 3)
            break;
         tiro[i] = new Coordenada(teclado.next().trim());
      }

obrigado ppl ja consegui resolver o problema!