Java - Ayuda con ejercicio de Java

 
Vista:

Ayuda con ejercicio de Java

Publicado por Guillermo (1 intervención) el 17/09/2007 02:08:47
Tengo un problema con el programa que estoy desarrollando, es una tarea, pero lo reviso y lo reviso y no encuentro el problema, (el problema es que yo muestro mis asientos, y luego como se muestra en el programa leo un numero, el cual si es de un asiento mio, que luego me lo muestre como ocupado, lo cual no sucede :S... como puedo hace... AYUDA POR FAVOR... alli les va el programa....

import java.util.Scanner;

public class Proyecto {
public static void main(String[] args) {

Scanner sc=new Scanner(System.in);
sc.useDelimiter(System.getProperty("line.separator"));
int op,asientos=30,cont=0;
String a1="Vacio",a2="Vacio",b3="Vacio",b4="Vacio",a5="Vacio",a6="Vacio",b7="Vacio",b8="Vacio",a9="Vacio",a10="Vacio",b11="Vacio",b12="Vacio",a13="Vacio",a14="Vacio",b15="Vacio";
String b16="Vacio",a17="Vacio",a18="Vacio",b19="Vacio",b20="Vacio",a21="Vacio",a22="Vacio",b23="Vacio",b24="Vacio",a25="Vacio",a26="Vacio",b27="Vacio",b28="Vacio",a29="Vacio",a30="Vacio";
String asiento, dest;
char resp='s';

System.out.println("EMPRESA DE TRANSPORTES RUNFAST");
System.out.println("");
System.out.println("1- Venta de Boletos");
System.out.println("2- Cancelacion de Boletos");
System.out.println("3- Reportes");
System.out.println("4- Salir del Systema");
System.out.println("");
System.out.print("Numero de Operacion a realizar: ");
op=sc.nextInt();

if(op==1){
System.out.print("Destino: ");
dest=sc.next();
}
while(resp=='s'){
System.out.print("Asientos disponibles: ");
System.out.println(asientos);
System.out.println(" ---> ASIENTOS <--- ");
System.out.print("(1) ");
System.out.print(a1 );
System.out.print(" (2) ");
System.out.print(a2);
System.out.print(" (3) ");
System.out.print(b3);
System.out.print(" (4) ");
System.out.println(b4);
System.out.print("(5) ");
System.out.print(a5 );
System.out.print(" (6) ");
System.out.print(a6);
System.out.print(" (7) ");
System.out.print(b7);
System.out.print(" (8) ");
System.out.println(b8);
System.out.print("(9) ");
System.out.print(a9 );
System.out.print(" (10)");
System.out.print(a10);
System.out.print(" (11)");
System.out.print(b11);
System.out.print(" (12)");
System.out.println(b12);
System.out.print("(13)");
System.out.print(a13 );
System.out.print(" (14)");
System.out.print(a14);
System.out.print(" (15)");
System.out.print(b15);
System.out.print(" (16)");
System.out.println(b16);
System.out.print("(17)");
System.out.print(a17 );
System.out.print(" (18)");
System.out.print(a18);
System.out.print(" (19)");
System.out.print(b19);
System.out.print(" (20)");
System.out.println(b20);
System.out.print("(21)");
System.out.print(a21 );
System.out.print(" (22)");
System.out.print(a22);
System.out.print(" (23)");
System.out.print(b23);
System.out.print(" (24)");
System.out.println(b24);
System.out.print("(25)");
System.out.print(a25 );
System.out.print(" (26)");
System.out.print(a26);
System.out.print(" (27)");
System.out.print(b27);
System.out.print(" (28)");
System.out.println(b28);
System.out.print("(29)");
System.out.print(a29 );
System.out.print(" (30)");
System.out.println(a30);
System.out.print("");

System.out.print("Asiento que desea Comprar: ");
asiento=sc.next();
if(asiento=="1"){
a1="Ocupado";
}
else if(asiento=="2"){
a2="ocupado";
}
else if(asiento=="3"){
b3="ocupado";
}
else if(asiento=="4"){
b4="ocupado";
}
else if(asiento=="5"){
a5="ocupado";
}
else if(asiento=="6"){
a6="ocupado";
}
else if(asiento=="7"){
b7="ocupado";
}
else if(asiento=="8"){
b8="ocupado";
}
else if(asiento=="9"){
a9="ocupado";
}
else if(asiento=="10"){
a10="ocupado";
}
else if(asiento=="11"){
b11="ocupado";
}
else if(asiento=="12"){
b12="ocupado";
}
else if(asiento=="13"){
a13="ocupado";
}
else if(asiento=="14"){
a14="ocupado";
}
else if(asiento=="15"){
b15="ocupado";
}
else if(asiento=="16"){
b16="ocupado";
}
else if(asiento=="17"){
a17="ocupado";
}
else if(asiento=="18"){
a18="ocupado";
}
else if(asiento=="19"){
b19="ocupado";
}
else if(asiento=="20"){
b20="ocupado";
}
else if(asiento=="21"){
a21="ocupado";
}
else if(asiento=="22"){
a22="ocupado";
}
else if(asiento=="23"){
b23="ocupado";
}
else if(asiento=="24"){
b24="ocupado";
}
else if(asiento=="25"){
a25="ocupado";
}
else if(asiento=="26"){
a26="ocupado";
}
else if(asiento=="27"){
b27="ocupado";
}
else if(asiento=="28"){
b28="ocupado";
}
else if(asiento=="29"){
a29="ocupado";
}
else if(asiento=="30"){
a30="ocupado";
}

asientos --;
while((resp!= 's')&&(resp!='n')){
System.out.print("Desea Comprar Otro Boleto: ");
resp=sc.next().charAt(0);
}
}
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con ejercicio de Java

Publicado por Enrique (32 intervenciones) el 17/09/2007 21:27:59
Hola Guillermo, lo que pasa es que estas comparando mal. Dado que asiento lo has creado como String y estas usando el operador ==. Te recomiento usar

asiento.equals("valorAComparar") o
asiento.equalsIgnoreCase("valorAComparar") .

Con eso te debería funcionar.

Otra cosa más, estás usando demasiadas líneas con System.out.println() y tu codigo es muy repetitivo.

Lo que deberías hacer es crear un arreglo de Strings (String[ ]) y allí colocar tus variables asientos,
String[] asiento = {"vacio","vacio","vacio","vacio", ..."vacio"};

luego, para mostrarlos recorres el arreglo con un bucle ( for o while o do while)
for(int i=1; i<=asiento.length){
System.out.println( i + "asiento[i]" );
}

y lo mismo cuando compares los asientos para saber si está ocupado o no.

Espero te sirva. Chau.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar