Wert aus anderer Klasse lesen

deatzi

Mitglied
Moin...
Allein der Titel tut mir schon leid...
Ich habe es jetzt aber echt schon wieder viel zu lang für so eine kleine Sache versucht... und da heute der letzte Tag ist an dem ich das Programm fertig machen wollte, frag ich hier mal nach.

Main klasse:
Code:
public static void main(String[] angs) throws FileNotFoundException, IOException {
testerino kontostand2 = new testerino();
kontostand2.Kontostand();
System.out.println(kontostand2);}

Zu lesende Klasse:
Code:
public class testerino {
   public void Kontostand() throws IOException {
     File f = new File("C: [...] ");
     FileReader fr = null;
  fr = new FileReader(f);
     BufferedReader br = new BufferedReader(fr);
     String zeile1 = null;
   zeile1 = br.readLine();
   br.close();
  }
}
bzw. für den fall dass ich in der main Klasse noch was anderes verbaut haben sollte hier der ganze Code:
Code:
package de.projekt.java;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Formatter;
import java.util.Random;

import javax.swing.JOptionPane;
public class rumtesten {

public static void main(String[] angs) throws FileNotFoundException, IOException {

//"Kontostand"
   
    Formatter x = null;
    File f = new File("C://  [...]  ");
   
    try {
        x = new Formatter(f);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

    //Wetteinsatz
   
    testerino kontostand2 = new testerino();
    kontostand2.Kontostand();
    System.out.println(kontostand2);

   // System.out.println(kontostand2);
   
         String input1 = JOptionPane.showInputDialog(null, "Geben Sie bitte den Betrag an mit dem Sie Wetten möchten !");
         int einsatz = Integer.parseInt(input1);
   
   
   
//Angaben des Spielers
                   
               
        //Wettauswahl
                   
                    String[] options = new String[] {"Auf eine bestimmte Farbe wetten !", "Auf ein bestimmtes Feld wetten !"};
                    int auswahl = JOptionPane.showOptionDialog(null, "Wählen Sie bitte der beiden Wettmöglichkeiten !", "Wettauswahl",
                        JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE,
                        null, options, options[0]);{
                   
                             // auswahl1 = nur Farbe : 0, Farbe  +  Feld : 1,
                   
                           
        //Farbauswahl
                       
                            String[] options1 = new String[] {"Rot", "Schwarz", "Grün"};
                            int auswahl1 = JOptionPane.showOptionDialog(null, "Wählen Sie bitte eine Farbe aus !", "Farbauswahl",
                                JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE,
                                null, options1, options1[0]);{
                           
                            // auswahl1 = Rot : 0, Schwarz : 1, Grün : 2
                                   
                                   
                   
        //Zahlauswahl   
                         
                int auswahl2 = 666;
                                   
                if(auswahl==1) {
                                   
                                   
                                   if(auswahl1==0) {
                           
                               String input2 = JOptionPane.showInputDialog(null, "Geben Sie bitte eine der folgenden Zahlen ein : 1,3,5,7,9,12,14,16,18,19,19,21,23,25,27,30,32,34,36");
                               auswahl2 = Integer.parseInt(input2);
                               
                                JOptionPane.showMessageDialog(null, "Ok ! Sie haben sich also für : Rot " +auswahl2 + " entschieden ! Es wird nun gerollt !");
                               
                           }
                            if(auswahl1==1) {
                               
                               String input2 = JOptionPane.showInputDialog(null, "Geben Sie bitte eine der folgenden Zahlen ein : 2,4,6,8,10,11,13,15,17,20,22,24,26,28,29,31,33,35");
                               auswahl2 = Integer.parseInt(input2);
                               
                                JOptionPane.showMessageDialog(null, "Ok ! Sie haben sich also für : Schwarz " +auswahl2 + " entschieden ! Es wird nun gerollt !");
                               
                               
                            }
                             if(auswahl1==2) {
                               
                                JOptionPane.showMessageDialog(null, "Ok ! Sie haben sich also für : Grün 0 entschieden ! Es wird nun gerollt !");
                             
                             }       
                }
                           
        //rndm
                   
                    Random rndm = new Random();
                    String dieFarbe;
                    int dieZahl;

                         
                    for (int I=0; I<1; I++){
                        dieZahl = rndm.nextInt(36);
                   
                        if(dieZahl==1 || dieZahl==3 || dieZahl==5 || dieZahl==7 || dieZahl==9 || dieZahl==12 || dieZahl==14 || dieZahl==16 || dieZahl==18 || dieZahl==19 || dieZahl==21 || dieZahl==23 || dieZahl==25 || dieZahl==27 || dieZahl==29 || dieZahl==32 || dieZahl==34 || dieZahl==36) {
                       
                        dieFarbe = "rot";
                       
                        } else if (dieZahl==2 || dieZahl==4 || dieZahl==6 || dieZahl==8 || dieZahl==10 || dieZahl==11 || dieZahl==13 || dieZahl==15 || dieZahl==17 || dieZahl==20 || dieZahl==22 || dieZahl==24 || dieZahl==26 || dieZahl==28 || dieZahl==30 || dieZahl==31 || dieZahl==33 || dieZahl==35) {
                           dieFarbe= "schwarz";
                        }
                       
                     else {
                        dieFarbe= "grün";
                    }

                        JOptionPane.showMessageDialog(null, "Die Kugel ist auf : " +dieFarbe +"  " +dieZahl +" gelandet!");
                   
        //Abrechnung
                       
                        boolean a = auswahl2==dieZahl;
                        int abrechnung = 0;
                       
                        if(auswahl==0&&auswahl1==0&&dieFarbe=="rot") {
                            abrechnung = einsatz*2;
                            JOptionPane.showMessageDialog(null, "Da Sie richtig gewettet haben bekommen sie weitere: " +einsatz +"€, womit sie nun: " +abrechnung +"€ erhalten ! Herzlichen Glückwunsch !");
                       
                        }  else if (auswahl==0&&auswahl1==1&&dieFarbe=="schwarz") {
                            abrechnung = einsatz*2;
                            JOptionPane.showMessageDialog(null, "Da Sie richtig gewettet haben bekommen sie weitere: " +einsatz +"€, womit sie nun: " +abrechnung +"€ erhalten ! Herzlichen Glückwunsch !");
                       
                       
                         } else if(auswahl==0&&auswahl1==2&&dieFarbe=="grün") {
                            abrechnung = einsatz*14;
                            JOptionPane.showMessageDialog(null, "Da Sie richtig gewettet haben bekommen sie weitere: " +einsatz +"€, womit sie nun: " +abrechnung +"€ erhalten ! Herzlichen Glückwunsch !");
                       
                         } else if(a) {     
                            abrechnung = einsatz*14;
                            JOptionPane.showMessageDialog(null, "Da Sie richtig gewettet haben bekommen sie weitere: " +einsatz +"€, womit sie nun: " +abrechnung +"€ erhalten ! Herzlichen Glückwunsch !");
                } else {
                    JOptionPane.showMessageDialog(null, "Sie haben Ihren Wetteinsatz von: " +einsatz +"€, leider verloren ! Viel Glück beim nächsten mal ! :)");
        }
                        x.format("%s", abrechnung);
                        x.close();
        }
                                }
                        }
    }
}
Die Sache ist die, wenn ich die auszulesende Klasse als eigene Methode definiere ist es richtig, nur so wie ich es jetzt (s.o.) geschrieben habe gibt er mir immer "de.projekt.java.testerino@3f3afe78" aus...

LG
 
Irgend wie kommt mir der hintere Teil aber sehr bekannt vor, ich glaub das ist einfach nur die falsche "Form" oder? Also zumindest nicht "int"?
 
Moin,
Java:
testerino kontostand2 = new testerino();
kontostand2.Kontostand();
System.out.println(kontostand2);  // FALSCH !!
Du kannst so nicht einfach das Objekt ausgeben, sondern müsstest für die Ausgabe schon auf die einzelnen Member zugreifen !!
Was soll denn das überhaupt geprintet werden ??

VG Klaus
 
Naja also generell soll es halt eine Art Roulette werden und ich würde halt gern noch so eine einfache Form von Konto haben die das Geld speichert... d.h. Aktuell wenn du es mal testen möchtest kann man seinen eigenen geldbetrag auswählen und der wird am ende gespeichert und ich möchte ihn halt jetzt lesen lassen...
Halt wie ein Konto
 
Du hast in deiner Klasse Kontostand mit Sicherheit eine Variable (int oder double o.ä.) die den Betrag speichert.
Entweder gibst du diesen Wert über einen Getter direkt aus System.out.println(kontostand.gibBetrag()); oder du überschreibst die toString() Methode deiner Kontostand Klasse. Dann kannst du auch einfach schreiben System.out.println(kontostand);.
 
Emm... Ich bin mir gerade nicht sicher wie du das meinst, tut mir leid...
Also speichern läuft jedenfalls so ab, am Anfang meiner main Klasse definiere ich die Text Datei:
Code:
    Formatter x = null;
    File f = new File("C://  [...] ");
 
    try {
        x = new Formatter(f);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
Und am Ende wenn dann gerollt wird und ausgerechnet wird ob bzw. wie viel man wiederbekommt folgt das:
Code:
 x.format("%s", abrechnung);
x.close();
Abrechnung ist halt einfach der bisher frei wählbare Betrag *0/*2/*14 je nach dem was man halt gewettet hat ^^
 

Neue Themen


Zurück
Oben