Java Schleife...

Diskutiere Java Schleife... im Developer Network Forum im Bereich Hardware & Software Forum; Ich versuche gerade mir ein kleines textbasiertes Rollenspiel zu machen, nun habe ich schon am Anfang ein kleines Problem :( Bei der vergabe der...
  • Java Schleife... Beitrag #1
Penecho

Penecho

Bekanntes Mitglied
Dabei seit
19.09.2001
Beiträge
2.636
Reaktionspunkte
1
Ort
RLP
Ich versuche gerade mir ein kleines textbasiertes Rollenspiel zu machen, nun habe ich schon am Anfang ein kleines Problem :(

Bei der vergabe der Attribute...

Code:
public static void staerke(){
        
        BufferedReader attr = new BufferedReader(new InputStreamReader(System.in));

        System.out.println("Wieviele Punkte wollen sie für Stärke vergeben? ");
        String eingabe = null;
        try { 
            eingabe = attr.readLine();
        } 
        catch (IOException e) {
            e.printStackTrace();
        }
        
        int st = Integer.parseInt(eingabe);
        
        while(st < Punkte){
            Staerke = Staerke + st;
            Punkte = Punkte - st;
            System.out.println("Stärke: " + Staerke);
            System.out.println("Punkte übrig: " + Punkte);
        }
        
        System.out.println("Nicht mehr genug Punkte übrig!");
        System.out.println("Nur noch " + Punkte + " Punkte übrig");
    }

Leider funktioniert das nicht so wie ich mir das vorstelle, die Schleife macht nicht dass was ich will...

Als Ausgabe bekomme ich:

Code:
Wieviele Punkte wollen sie für Stärke vergeben? 
60
Nicht mehr genug Punkte übrig!
Nur noch 20 Punkte übrig

Wieviele Punkte wollen sie für Geschicklichkeit vergeben?

Aber ich hätte gerne dass er die ganze Abfrage noch einmal wiederholt, nur weiss ich leider nicht wo genau ich da die Schleife am besten ansetzte...


Cu



Penecho
 
  • Java Schleife... Beitrag #2
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

das sollte schonmal gar nicht compilieren, da "Punkte" nirgendwo deklariert und initialisiert wurde.

Gruss, FFNB.
 
  • Java Schleife... Beitrag #3
Penecho

Penecho

Bekanntes Mitglied
Dabei seit
19.09.2001
Beiträge
2.636
Reaktionspunkte
1
Ort
RLP
hehe ich hatte nur den Auszug kopiert, nicht alles komplett...

Hier ist noch der Anfang:

Code:
import java.io.*;


public class Attribute {
    
    static int Staerke;
    static int Geschicklichkeit;
    static int Ausdauer;
    static int Magie;
    
    static int Punkte = 20;
und die Main:

Code:
public static void main(String[] args) {
        
        charName();
        System.out.println();
        staerke();
        System.out.println();
        geschicklichkeit();
        System.out.println();
        ausdauer();
        System.out.println();
        magie();

    }
Die Methoden für die anderen Attribute sind genauso..

Hier noch die Methode die den Namen einliest:

Code:
public static void charName(){
        
        BufferedReader charname = new BufferedReader(new InputStreamReader(System.in));

        System.out.println("Bitte Charaktername eingeben: ");
        String name = null;
        try {
            name = charname.readLine();
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("Eingegebener Name: " + name);
    }
Was mich auch noch zu ner anderen Frage bringt, wie speichere ich das Zeugs dann in ne txt datei und wie erstell ich ne Möglichkeit dass zu beginn alles von ner txt datei einzulesen...

Cu


Penecho
 
Zuletzt bearbeitet:
  • Java Schleife... Beitrag #4
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

Deine Schleife arbeitet doch korrekt:
Punkte ist bei Dir "20"
st (also Deine Eingabe ist "60")
Die Schleife soll so lange druchlaufen werden, wie "st < Punkte". Da 60 schon von Anfang an grosser ist als 20, wird die Schleife nie durchlaufen.

zum Speichern/Lesen empfiehlt sich das java.util.Properties Objekt.

Ansonsten haette ich da noch eine Anmerkung: in Java ist es ueblich, nur Klassennamen gross zu schrieben - alle Variablen sollten klein geschrieben werden.

Gruss, FFNB.
 
  • Java Schleife... Beitrag #5
Penecho

Penecho

Bekanntes Mitglied
Dabei seit
19.09.2001
Beiträge
2.636
Reaktionspunkte
1
Ort
RLP
Jop stimmt, hab das mit der Schleife verbockt, der sollte solange nach den Punkten für Stärke fragen bis eine zahl <= den aktuellen Punkten eingegeben wird...

Wenn ich die Schleife umbaue, is er in ner Endlosschleife drin, da ja nicht mehr der neue Wert abgefragt wird...

Wer ich evtl. mal mit ner for Schleife ganz oben ansetzen wo das einlesen beginnt...


Cu



Penecho
 
  • Java Schleife... Beitrag #6
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

erklaer bitte nochmal genau, was Du vor hast. Dann schauen wir nochmal, wie man das am besten loesen kann...

Gruss, FFNB.
 
Thema:

Java Schleife...

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben