Porque no se me almacena la variable entrada por teclado ?

HelpJava
31 de Octubre del 2007
Perdon , he repetido este post porque lo puse en un foro no adecuado , deberia estar aqui , a java basico.

Pues bien , tengo este codigo hecho , lo que deberia hacer es poner tres XXX seguidas en un vector y despues mediante la entrada del teclado tenemos que adivinar donde estan las XXX , pero el problema es que coordenada siempre me resulta 0 , u sea se , que no me guarda el valor entrado por teclado . Alguien sabria decirme que hago mal ?!??! , Muchisimas gracias , aqui el codigo :


package compk;

import java.io.*;
public class Comcom {


static int demcord()throws Exception{

int coordenada=0;
BufferedReader teclat;
teclat = new BufferedReader( new InputStreamReader(System.in) );
String linea;
System.out.print("introdueix coordenades del 0 al 9 per tal de tocar el nostre .com i ensonsa\'l: ");
linea = teclat.readLine().toUpperCase();
coordenada=Integer.parseInt(linea);
return coordenada;

}


public static void main (String[] args)throws Exception {


int coordenada=0;
int nombreVegades=0;
int nombreAleatori = (int) (Math.random()*10-3);

String[] joc1 =new String[10]; //el vector sera de 10 index

for(int i=0 ; i<3 ; i++)//Introduim tres X que seran el nostre .com
{
joc1[nombreAleatori]= "X";

}
demcord();

System.out.print(" coordenada:"+coordenada+"" );


while (nombreVegades < 3);{

if (coordenada>10){
System.out.println("Has de triar un numero del 0 al 9");

demcord();
}


else if (joc1[coordenada]=="X") {

System.out.println("tocat");
nombreVegades = nombreVegades+1;
demcord();
}

if (nombreVegades==3){System.out.println("tocat i enfonsat");}

else {

System.out.println("Has fallat , torna-ho a probar");
demcord();

}




}

}

}