Avatar billede tingna Nybegynder
21. marts 2003 - 01:00 Der er 1 løsning

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("...");
          }
         
      }
}
Avatar billede tingna Nybegynder
21. marts 2003 - 01:08 #1
der er ikke skrevet
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
i starten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester