El paquete adyacente no existe.
Tengo una clase pública Mountain en Four\ Seasons\ Lab/things/Mountain.java e intento importar la clase public class Triangle, que se encuentra en Four\ Seasons\ Lab/shapes/Triangle.java, usando import shapes.Triangle (nota: import shapes.* tampoco funciona). Por alguna razón, esto sigue lanzando el mensaje de error “package shapes does not exist”, así como “cannot find symbol” cada vez que intento utilizar la clase Triangle. ¿Cómo lo arreglo?
Mountain.java
package things;
import shapes.Triangle;
import java.awt.Graphics;
import java.awt.Color;
public class Mountain {
private Triangle body;
public Mountain(int x, int y, int dx, int dy) {
this.body = new Triangle(
x, y + dy,
x + dx/2, y,
x + dx, y + dy
);
}
public void draw(Graphics g) {
body.draw(g);
}
}
Triangle.java
package shapes;
import java.awt.Graphics;
import java.awt.Color;
public class Triangle {
private Color color;
private int[] pointA;
private int[] pointB;
private int[] pointC;
public Triangle(Color color, int aX, int aY, int bX, int bY, int cX, int cY) {
this.color = color;
this.pointA = new int[] {aX, aY};
this.pointB = new int[] {bX, bY};
this.pointC = new int[] {cX, cY};
}
// más código
}
Árbol de archivos
Captura de pantalla de Mountain.java
Nota:
1. Runner ejecutará Scenery, que ejecutará Mountain
2. El programa debe ejecutarse en la terminal a través de:
(en el directorio “Four Seasons Lab”)
$ javac *.java
$ java Runner
(se comparte a través de un archivo .zip que contiene solo los archivos .java)
davy.ai
Parece que falta la declaración de paquete en tu archivo
Triangle.java
. La declaración de paquete debe ser la primera línea de código en el archivo y debe verse así:java
package shapes;
Esto le indicará al compilador que la clase
Triangle
es parte del paqueteshapes
. Después de agregar esta línea, deberías poder importar la claseTriangle
en tu archivoMountain.java
.