Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 30-jun-2004, 16:49   #1 (permalink)
lis
lis está en el buen camino
 
Fecha de Ingreso: noviembre-2003
Mensajes: 4
Molesto error programa java con new

tengo el siguiente codigo
class ClasesIntStatic {
public static void main(String [] arg) {
A a1=new A(11), a2=new A(12);
println("a1.i="+ a1.i + " a2.i="+ a2.i);
A.Bs b1 = new A.Bs(-10);
A.Bs b2 = a1.new Bs(-11); --------------> aqui esta el ERROR
println("b1.j=" + b1.j + " b2.j=" + b2.j);
b1.printBs();
b2.printBs();
a1.printA(b1);
a1.printA(b2);
}
public static void println(String str) {System.out.println(str);}
}

class A {
int i = 1;
static int is = -1;
public A(int i) {this.i = i;}
public void printA(Bs unBs) {
System.out.println("i=" + i + " unBs.j=" + unBs.j);
}
static class Bs {
int j = 2;
public Bs(int j) {this.j = j;}
public void printBs() {
System.out.println(" j=" + j + " is=" + is);
}
}
}
el error es el siguiente: nombre completo de la clase estática

Última edición por lis; 30-jun-2004 a las 17:46.
lis está desconectado   Responder Citando
Antiguo 02-jul-2004, 23:29   #2 (permalink)
ManDraKo ha deshabilitado el karma
 
Fecha de Ingreso: junio-2004
Mensajes: 7
A.Bs b2 = a1.new Bs(-11); --------------> aqui esta el ERROR


quita el --->al
ManDraKo está desconectado   Responder Citando
Antiguo 03-jul-2004, 11:23   #3 (permalink)
lis
lis está en el buen camino
 
Fecha de Ingreso: noviembre-2003
Mensajes: 4
Quitandole el a1 me arroja el siguiente error
imposible resolver el símbolo: clase Bs de clase ClasesIntStatic
lis está desconectado   Responder Citando
Antiguo 06-jul-2004, 04:21   #4 (permalink)
Fulanitodetal2 ha deshabilitado el karma
 
Fecha de Ingreso: junio-2004
Mensajes: 2
Bueno, no se si te servirá esta solución, pero... espero que sí.
En principio es muy simple:


Cambia la línea:
A.Bs b2 = a1.new Bs(-11); --------------> aqui esta el ERROR
por esta otra:
A.Bs b2 = new A.Bs(-11);

Explicación:

Al ser a1 una instancia de la clase A (A a1=new A(11)), creo que sería equivalente poner el código de arriba (A.Bs b2 = new A.Bs(-11)).

No sé si es esto lo que querías hacer. Al menos, ahora funciona y no da error.
Si es lo que querías hacer y quieres una explicación más profunda, avisa.
Fulanitodetal2 está desconectado   Responder Citando
Antiguo 06-jul-2004, 09:21   #5 (permalink)
lis
lis está en el buen camino
 
Fecha de Ingreso: noviembre-2003
Mensajes: 4
Al cambiarla me arroja el siguiente valor en b2.printBs(); //j=-11 y debería ser -20, por lo menos así dice el libro.
Gracias
Elisa
lis está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 06:04.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93