Guten Tag,
Ich bin relativ mit der Javaprogrammierung.
Ich habe ein Code von einem Freund bekommen, ich kann den Code kompielieren und ich bekomme folgenen Fehler. Wenn ich die Klasse Uhr.java kompiliere bekomme ich diese Fehlern:
Uhr.java:13: cannot find symbol
symbol : class Zeiger
location: class uhr.Uhr
private static Zeiger sec, min, std;
^
Uhr.java:16: cannot find symbol
symbol : class ZiffernBlatt
location: class uhr.Uhr
private static ZiffernBlatt blatt;
^
Uhr.java:45: cannot find symbol
symbol : class ZiffernBlatt
location: class uhr.Uhr
blatt = new ZiffernBlatt(RADIUS);
^
Uhr.java:47: cannot find symbol
symbol : class Zeiger
location: class uhr.Uhr
sec = new Zeiger(RADIUS);
^
Uhr.java:48: cannot find symbol
symbol : class Zeiger
location: class uhr.Uhr
min = new Zeiger(RADIUS);
^
Uhr.java:49: cannot find symbol
symbol : class Zeiger
location: class uhr.Uhr
std = new Zeiger(RADIUS);
^
Uhr.java:58: package Zeiger does not exist
sec.setType(Zeiger.Typ.SEC);
^
Uhr.java:59: package Zeiger does not exist
min.setType(Zeiger.Typ.MIN);
^
Uhr.java:60: package Zeiger does not exist
std.setType(Zeiger.Typ.STD);
^
9 errors
ZiffernBlatt.java
Zeiger.java
Uhr.java
Ich bin relativ mit der Javaprogrammierung.
Ich habe ein Code von einem Freund bekommen, ich kann den Code kompielieren und ich bekomme folgenen Fehler. Wenn ich die Klasse Uhr.java kompiliere bekomme ich diese Fehlern:
Uhr.java:13: cannot find symbol
symbol : class Zeiger
location: class uhr.Uhr
private static Zeiger sec, min, std;
^
Uhr.java:16: cannot find symbol
symbol : class ZiffernBlatt
location: class uhr.Uhr
private static ZiffernBlatt blatt;
^
Uhr.java:45: cannot find symbol
symbol : class ZiffernBlatt
location: class uhr.Uhr
blatt = new ZiffernBlatt(RADIUS);
^
Uhr.java:47: cannot find symbol
symbol : class Zeiger
location: class uhr.Uhr
sec = new Zeiger(RADIUS);
^
Uhr.java:48: cannot find symbol
symbol : class Zeiger
location: class uhr.Uhr
min = new Zeiger(RADIUS);
^
Uhr.java:49: cannot find symbol
symbol : class Zeiger
location: class uhr.Uhr
std = new Zeiger(RADIUS);
^
Uhr.java:58: package Zeiger does not exist
sec.setType(Zeiger.Typ.SEC);
^
Uhr.java:59: package Zeiger does not exist
min.setType(Zeiger.Typ.MIN);
^
Uhr.java:60: package Zeiger does not exist
std.setType(Zeiger.Typ.STD);
^
9 errors
ZiffernBlatt.java
Java:
public class ZiffernBlatt{
public int RADIUS;
private int matrix[][];
public ZiffernBlatt(int r) {
this.RADIUS = r;
init();
}
private double[] drehen(int grad, int r){
double x = 0;
double y;
double rad = grad * Math.PI/180;
y = x*Math.sin(rad) + r*Math.cos(rad);
x = x*Math.cos(rad) - r*Math.sin(rad);
return new double[]{x,y};
}
private void init(){
matrix = new int[60][4];
for(int i = 0;i < 60; i++){
matrix[i][0] = (int)drehen(i*6, RADIUS)[0] + (RADIUS);
matrix[i][1] = (int)drehen(i*6, RADIUS)[1] + (RADIUS);
if(i % 5 != 0) {
matrix[i][2] = (int)drehen(i*6, RADIUS-7)[0] + (RADIUS);
matrix[i][3] = (int)drehen(i*6, RADIUS-7)[1] + (RADIUS);
} else {
matrix[i][2] = (int)drehen(i*6, RADIUS-20)[0] + (RADIUS);
matrix[i][3] = (int)drehen(i*6, RADIUS-20)[1] + (RADIUS);
}
}
}
public int[][] getCords() {
return matrix;
}
}
Zeiger.java
Java:
package uhr;
public class Zeiger{
public int POS;
private Typ type;
public int RADIUS;
enum Typ{
SEC, MIN, STD
}
public Zeiger(int r) {
this.RADIUS = r;
init();
}
private void init(){
}
public double[] drehen(int grad, int r){
double x = 0;
double y;
double rad = grad * Math.PI/180;
y = x*Math.sin(rad) + r*Math.cos(rad);
x = x*Math.cos(rad) - r*Math.sin(rad);
return new double[]{x,y};
}
public void next(int pos) {
switch(type){
case SEC:
this.POS = (this.POS + pos) % 60000;
break;
case MIN:
this.POS = (this.POS + pos/60) % 60000;
break;
case STD:
this.POS = (this.POS + pos/(60*12)) % 60000;
break;
}
}
public void setType(Typ type) {
this.type = type;
}
public void setPos(int pos) {
switch(type){
case SEC:
this.POS = pos*1000;
break;
case MIN:
this.POS = pos*1000;
break;
case STD:
this.POS = pos*1000;
break;
}
}
public int getX(double l){
return -(int)drehen(POS*6/1000,(int)l)[0]+RADIUS;
}
public int getY(double l){
return -(int)drehen(POS*6/1000,(int)l)[1]+RADIUS;
}
}
Uhr.java
Java:
package uhr;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.GregorianCalendar;
import java.util.Calendar;
@SuppressWarnings("serial")
public class Uhr extends JPanel{
private static Timer timer;
private static Zeiger sec, min, std;
private static final int RADIUS = 50;
private static JFrame frame;
private static ZiffernBlatt blatt;
private static int zblatt[][];
public static void main(String[] args) {
frame = new JFrame("Uhr");
new Uhr();
frame.setBackground(Color.WHITE);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(RADIUS*2+10, RADIUS*2+35);
frame.setVisible(true);
timer.start();
}
Uhr(){
init();
setTime();
timer = new Timer(1000, new ActionListener(){
public void actionPerformed(ActionEvent e){
sec.next(1000);
min.next(1000);
std.next(1000);
frame.repaint();
}
});
}
private void init(){
blatt = new ZiffernBlatt(RADIUS);
sec = new Zeiger(RADIUS);
min = new Zeiger(RADIUS);
std = new Zeiger(RADIUS);
frame.add(this);
}
@SuppressWarnings("static-access")
private void setTime(){
Calendar c = new GregorianCalendar();
sec.setType(Zeiger.Typ.SEC);
min.setType(Zeiger.Typ.MIN);
std.setType(Zeiger.Typ.STD);
sec.setPos(c.get(c.SECOND));
min.setPos(c.get(c.MINUTE));
std.setPos(c.get(c.HOUR_OF_DAY) * 5 + c.get(c.MINUTE)/12);
}
public void paint(Graphics g){
zblatt = blatt.getCords();
for(int i = 0; i < 60; i++){
g.drawLine(zblatt[i][0], zblatt[i][1], zblatt[i][2], zblatt[i][3]);
}
g.setColor(Color.red);
g.drawLine(RADIUS, RADIUS, sec.getX(RADIUS), sec.getY(RADIUS));
g.setColor(Color.blue);
g.drawLine(RADIUS, RADIUS, min.getX(RADIUS*0.8), min.getY(RADIUS*0.8));
g.setColor(Color.green);
g.drawLine(RADIUS, RADIUS, std.getX(RADIUS*0.5), std.getY(RADIUS*0.5));
}
}