Foros del Web » Programación para mayores de 30 ;) » Java »

error programa java con new

Estas en el tema de error programa java con new en el foro de Java en Foros del Web. 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); ...
  #1 (permalink)  
Antiguo 30/06/2004, 16:49
lis
 
Fecha de Ingreso: noviembre-2003
Mensajes: 4
Antigüedad: 20 años, 5 meses
Puntos: 0
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/06/2004 a las 17:46
  #2 (permalink)  
Antiguo 02/07/2004, 23:29
 
Fecha de Ingreso: junio-2004
Mensajes: 7
Antigüedad: 19 años, 10 meses
Puntos: 0
A.Bs b2 = a1.new Bs(-11); --------------> aqui esta el ERROR


quita el --->al
  #3 (permalink)  
Antiguo 03/07/2004, 11:23
lis
 
Fecha de Ingreso: noviembre-2003
Mensajes: 4
Antigüedad: 20 años, 5 meses
Puntos: 0
Quitandole el a1 me arroja el siguiente error
imposible resolver el símbolo: clase Bs de clase ClasesIntStatic
  #4 (permalink)  
Antiguo 06/07/2004, 04:21
 
Fecha de Ingreso: junio-2004
Mensajes: 2
Antigüedad: 19 años, 10 meses
Puntos: 0
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.
  #5 (permalink)  
Antiguo 06/07/2004, 09:21
lis
 
Fecha de Ingreso: noviembre-2003
Mensajes: 4
Antigüedad: 20 años, 5 meses
Puntos: 0
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:21.