hvorfor kan blue j ikke compile min kode?
Jeg har prøver alt muligt, men min kode kan ikke compiles i blue j.Tilsyneladende er der sætningen:
public class GuesserApplet extends Applet implements ActionListener
den er gal med, men det kan jeg bare ikke forstå, for det virkede tidligere.
Her er koden til Class Guesser
og herefter class guesserApplet, som er den klasse der har problemer...
/**
* @author JCC
* @version 1 oct 02
*/
public class Guesser {
public static final int TO_LOW = -1;
public static final int CORRECT = 0;
public static final int TO_HIGH = 1;
private int target;
private int count;
private int lowestGuess;
private int highestGuess;
// --- Constructor ---
public Guesser(int lower, int upper) {
if (lower > upper) {
int temp = upper;
upper = lower;
lower = upper;
}
// generates the target
int range = upper - lower + 1;
target = (int) (Math.random() * range) + lower;
count = 0 ;
lowestGuess = lower - 1;
highestGuess = upper + 1;
}
// --- Mutators ---
public int guess (int theGuess) {
count++;
if (theGuess < target) {
if (theGuess > lowestGuess) lowestGuess = theGuess;
return TO_LOW;
}
if (theGuess > target) {
if (theGuess < highestGuess) highestGuess = theGuess;
return TO_HIGH;
}
return CORRECT;
}
// --- Accessors ---
public int getTarget() {
return target;
}
public int getCount() {
return count;
}
public String toString() {
int middle = (lowestGuess + highestGuess) / 2;
return "Lowest guess = " + lowestGuess+ ", Highest guess = " + highestGuess + ", middle = " + middle;
}
}
/**
* man skal indtaste to tal i upper og lower.
* herefter vælger programmet ettilfældigt * tal som man så skal gætte. antal af gæt vises.
* @author trine jensen
* @version 21.03.2003
*/
public class GuesserApplet extends Applet implements ActionListener {
private IntTextField upper = new IntTextField();
private IntTextField lower = new IntTextField();
private IntTextField guess = new IntTextField();
private Label lowerBound = new Label ("Lower bound:");
private Label upperBound = new Label ("Upper bound:");
private Label yourGuess = new Label ("your guess:");
private Label guessNo = new Label ("No of guesses:");
private Label answer = new Label ("...");
private Button setButton = new Button("Set");
private Button giveupButton = new Button ("Give up");
private Button clearButton = new Button ("Clear");
private Button guessButton = new Button ("Guess");
private Guesser guesser = new Guesser(lower, upper);
public void init(){
add(lowerBound);
add(lower);
add(upperBound);
add(upper);
add(yourGuess);
add(guess);
add(guessNo);
add(setButton);
add(guessButton);
add(answer);
add(giveupButton);
add(clearButton);
setButton.addActionListener(this);
giveupButton.addActionListener(this);
clearButton.addActionListener(this);
guessButton.addActionListener(this);
setBackground(Color.gray);
lower.setBackground(Color.white);
upper.setBackground(Color.white);
guess.setBackground(Color.white);
guessNo.setBackground(Color.gray);
answer.setBackground(Color.gray);
lowerBound.setBackground(Color.gray);
upperBound.setBackground(Color.gray);
yourGuess.setBackground(Color.gray);
setSize(700,400);
}
public void actionPerformed(ActionEvent e) {
int lowerNumber = lower.getInt();
int upperNumber = upper.getInt();
int theGuess = guess.getInt();
int guessResult = guesser.guess(theGuess);
int count = guesser.getCount();
Button button = (Button) e.getSource();
if (button == setButton) {
if (lowerNumber == IntTextField.NOT_INT){
answer.setText("Lower bound:" + lower.getInt()+ " is not an integer");
lower.setBackground(Color.red);
} else {
lower.setEditable(false);
lower.setBackground(Color.gray);
}
if (upperNumber == IntTextField.NOT_INT){
answer.setText("Upper bound:" + upper.getInt()+ " is not an integer");
upper.setBackground(Color.red);
} else {
upper.setEditable(false);
upper.setBackground(Color.gray);
}
if(lowerNumber != IntTextField.NOT_INT && upperNumber != IntTextField.NOT_INT)
guesser = new Guesser( (lower.getText()).getInt(), (upper.getText()).getInt()));
//System.out.println("Creation:"+count+" "+guesser.getTarget());
}
if (button == guessButton){
//System.out.println("result:"+guessResult+" count:"+count +" target:"+guesser.getTarget());
guessNo.setText("No. of guesses:" + count);
if (guessResult == 0)
answer.setText("The number is correct!!!");
if (guessResult == 1)
answer.setText("The number is too high");
if (guessResult == -1)
answer.setText ("The number is too low");
}
if (button == giveupButton){
upper.setEditable(true);
lower.setEditable(true);
upper.setBackground(Color.white);
lower.setBackground(Color.white);
answer.setText("The answer is: " + guesser.getTarget() + "You looser!!!");
}
if (button == clearButton){
upper.setEditable(true);
lower.setEditable(true);
upper.setBackground(Color.white);
lower.setBackground(Color.white);
guess.setText("");
lower.setText("");
upper.setText("");
answer.setText("...");
}
}
}
