Hei, denn quelltext kennt ihr wohl noch.
seit dem letzten mal habe ich mich selber probiert, den Fehler zu beheben, doch ich finde ihn nicht.
Mein problem ist, dass die methoden von der Klasse Highscore nicht aufgerufen werden.
Was mache ich falsch?
Vielen dank für einige Lösungsvorschläge!
P.S. Wenn ich es mit dem debugger öffne, wird hs.einlesen() und hs.ausgabe() geöffnet.
doch suf die hs.ändern() kann ich nicht zugreiffen
seit dem letzten mal habe ich mich selber probiert, den Fehler zu beheben, doch ich finde ihn nicht.
Mein problem ist, dass die methoden von der Klasse Highscore nicht aufgerufen werden.
Was mache ich falsch?
Java:
// RateSpiel
import java.lang.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.io.*;
import java.util.*;
public class RateSpiel extends Applet
{
Label l_eingabe;
TextField t_eingabe;
Button b_abschicken;
TextArea t_ausgabe, t_h_ausgabe;
String titel;
String tmp;
String tmp_1;
int zahl_alt;
int zahl;
int i = 0;
int zufallszahl;
class Lauscher implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(i == 0)
{
//Zufallszahl
Random zufall = new Random();
zufallszahl = zufall.nextInt(1000);
}
Highscore hs = new Highscore();
try
{
hs.einlesen();
}
catch(IOException f)
{
System.out.println("Fehler aufgetreten");
f.printStackTrace(); // z.b. gibt dir aus wo und was der fehler ist
}
hs.ausgabe(zahl_alt);
titel = e.getActionCommand();
if (titel.equals("neuer Versuch!"))
{
i++;
tmp = t_eingabe.getText();
zahl = Integer.valueOf(tmp).intValue();
t_ausgabe.setText("");
t_ausgabe.append(String.valueOf(""));
if(zufallszahl > zahl)
{
t_ausgabe.append("\n\n\nSie sind zu tief!");
}
else if (zufallszahl < zahl)
{
t_ausgabe.append("\n\n\nSie sind zu hoch!");
}
else
{
t_ausgabe.append("\n\nSie haben die Zahl erraten!");
t_ausgabe.append("\n\n\nSie haben es beim " + i +
". mal geschaft! Gratuliere");
if(i < zahl_alt)
{
try
{
hs.ändern();
//t_ausgabe.append("\n\ngeht gut");
}
catch(IOException f)
{
System.out.println("Fehler aufgetreten");
f.printStackTrace(); // z.b. gibt dir aus wo und was der fehler ist
}
}
}
}
}
}
class Highscore
{
int einlesen() throws IOException
{
FileReader dateiStream =
new FileReader("Highscore.txt");
BufferedReader eingabeDatei =
new BufferedReader (dateiStream);
tmp_1 = eingabeDatei.readLine();
zahl_alt= Integer.parseInt(tmp_1);
eingabeDatei.close();
return zahl_alt;
}
void ausgabe(int zahl_alt)
{
t_h_ausgabe.append("\n\nDer 1. Platz liegt bei " + zahl_alt + " Versuchen!");
}
void ändern() throws IOException
{
FileWriter dateiStream2 =
new FileWriter("Highscore.txt");
PrintWriter ausgabe =
new PrintWriter(dateiStream2);
ausgabe.println(10);
ausgabe.close();
}
}
public void init()
{
l_eingabe = new Label(" Bitte Zahl eingaben :");
t_eingabe = new TextField(5);
b_abschicken = new Button("neuer Versuch!");
t_ausgabe = new TextArea(10, 40);
t_h_ausgabe = new TextArea(5,40);
setLayout(new FlowLayout(FlowLayout.LEFT));
add(l_eingabe);
add(t_eingabe);
add(b_abschicken);
add(t_ausgabe);
add(t_h_ausgabe);
b_abschicken.addActionListener(new Lauscher());
}
Vielen dank für einige Lösungsvorschläge!
P.S. Wenn ich es mit dem debugger öffne, wird hs.einlesen() und hs.ausgabe() geöffnet.
doch suf die hs.ändern() kann ich nicht zugreiffen
Zuletzt bearbeitet: