Methoden Attribut Abfrage eines anderen Objektes

N

Nik.jar

Mitglied
Hey Leute,
in einem kleinen Projekt für die Schule bräuchte ich mal eure Hilfe:
Ein Objekt weißt ein anderes dazu an, eine Zufallszahl zu Würfeln, dass funktioniert.
Jedoch soll man bei dem ersten Objekt auf diese Zufallszahl zugreifen und sie abfragen können! Sie soll also auch als Attribut bei dem ersten Objekt bereit stehen!
Gemacht wird das ganze in BlueJ.
Vielen Dank für eure Hilfe!
 
N

Nik.jar

Mitglied
/**
* Write a description of class Becher here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Becher
{
// instance variables - replace the example below with your own
private int x;

/**
* Constructor for objects of class Becher
*/
public Becher()
{
// initialise instance variables
x = 0;
}

/**
* An example of a method - replace this comment with your own
*
* @param y a sample parameter for a method
* @Return the sum of x and y
*/
public int sampleMethod(int y)
{
// put your code here
return x + y;
}

public void wirfDieWuerfel(){
gelberWuerfel GelberWuerfel = new gelberWuerfel();
GelberWuerfel.neueZufallszahl();
}

public int getzahl() {
GelberWuerfel.getzahl;
}

}
 
N

Nik.jar

Mitglied
Java:
import java.util.Random;
/**
* Write a description of class gelberWuerfel here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class gelberWuerfel
{
    // instance variables - replace the example below with your own
    private int x;
    Random zufall = new Random();
    public int zahl;
   
    /**
     * Constructor for objects of class gelberWuerfel
     */
    public gelberWuerfel()
    {
        // initialise instance variables
        x = 0;
    }

    /**
     * An example of a method - replace this comment with your own
     *
     * @param  y   a sample parameter for a method
     * @return     the sum of x and y
     */
    public int sampleMethod(int y)
    {
        // put your code here
        return x + y;
    }
   
    public void neueZufallszahl(){
        zahl = zufall.nextInt(6) + 1;
    }
   
    public void giveZahl(){
   
    }
}
 
N

Nik.jar

Mitglied
Wie meinst du das?
Habe jetzt nochmal ein bisschen verändert, aber es kommt immer noch nur 0 zurück!

Java:
import java.util.Random;
/**
* Write a description of class Becher here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Becher
{
    // instance variables - replace the example below with your own
    private int x;
    private int zahl;

    /**
     * Constructor for objects of class Becher
     */
    public Becher()
    {
        // initialise instance variables
        x = 0;
    }

    /**
     * An example of a method - replace this comment with your own
     *
     * @param  y   a sample parameter for a method
     * @return     the sum of x and y
     */
    public int sampleMethod(int y)
    {
        // put your code here
        return x + y;
    }

    public void wirfDieWuerfel(){
        gelberWuerfel GelberWuerfel = new gelberWuerfel();
        GelberWuerfel.neueZufallszahl();
    }
   
    public int getzahl() {
        return zahl;
    }
}
 
J

Joose

Top Contributor
Java:
    public void wirfDieWuerfel(){
        gelberWuerfel GelberWuerfel = new gelberWuerfel();
        GelberWuerfel.neueZufallszahl();
    }

Du musst nach sagen das deinem Attribut "zahl" der Klasse Becher der Wert von dem Attribut "zahl" vom Objekt der Klasse GelberWuerfel zugewiesen wird.
zahl = gelberWuerfel.zahl

Anmerkung zu deinem Code: Klassennamen werden in UpperCamelCase gschrieben, alles andere in lowerCamelCase ;)
 
N

Nik.jar

Mitglied
Java:
import java.util.Random;
/**
* Write a description of class Becher here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Becher
{
    // instance variables - replace the example below with your own
    private int x;

   
    private String zahl;
    /**
     * Constructor for objects of class Becher
     */
    public Becher()
    {
        // initialise instance variables
        x = 0;
    }

    /**
     * An example of a method - replace this comment with your own
     *
     * @param  y   a sample parameter for a method
     * @return     the sum of x and y
     */
    public int sampleMethod(int y)
    {
        // put your code here
        return x + y;
    }

    public void wirfDieWuerfel(){
        gelberWuerfel GelberWuerfel = new gelberWuerfel();
        GelberWuerfel.neueZufallszahl();
    }
   
    public String getzahl(){
        return zahl;
    }
}
Java:
import java.util.Random;
/**
* Write a description of class gelberWuerfel here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class gelberWuerfel
{
    // instance variables - replace the example below with your own
    private int x;
    Random zufall = new Random();
    public int zahl;
    String geben = String.valueOf(zahl);
    /**
     * Constructor for objects of class gelberWuerfel
     */
    public gelberWuerfel()
    {
        // initialise instance variables
        x = 0;
    }

    /**
     * An example of a method - replace this comment with your own
     *
     * @param  y   a sample parameter for a method
     * @return     the sum of x and y
     */
    public int sampleMethod(int y)
    {
        // put your code here
        return x + y;
    }
   
    public void neueZufallszahl(){
        zahl = zufall.nextInt(6) + 1;
    }
   
    public String getzahl() {
        return geben;
    }
}
als Antwort kriege ich aber immer noch nur null raus :/
 
T

TheAnfänger

Mitglied
Code:
public Class Becher {
  private String zahl;

  public Becher() {

  }

  public void wirfDieWuerfel() {
    GelberWuerfel gelberWuerfel = new GelberWuerfel();
    gelberWuerfel.neueZufallszahl();
    zahl = gelberWuerfel.getZah()l;
  }

  public String getZahl() {
    return zahl;
  }
}



import java.util.Random;
public Class GelberWuerfel {

  Random zufall = new Random;
  public int zahl;
  String geben;

  public GelberWuerfel() {

  }

  public void neueZufallszahl() {
    zahl = zufall.nextInt(6) + 1;
    geben = String.valueOf(zahl);
  }

  public String getZahl() {
    return geben;
  }
}

Ist jetzt nicht getestet, aber ich denke dass sollte so funktionieren
 
N

Nik.jar

Mitglied
ja, musste hier und da noch ein bisschen anpassen aber im großen und ganzen echt super!
Danke :D
 
T

TheAnfänger

Mitglied
Ich hab das jetzt auf dem Smartphone geschrieben, von dem her waren wahrscheinlich schon 2-3 Schreibfehler drin :)

Verstehtst du den Code, denn auch? Das ist meiner Meinung nach das wichtigste.
 
N

Nik.jar

Mitglied
Ich hätte noch eine Frage: Wie kann ich Strings zusammefügen? Also ich möchte sie nicht addieren, sondern ich möchte weitere Würfel hinzufügen! Wie kann ich dann mehrere Strings im Ouput durch Kommas trennen?
 
N

Nik.jar

Mitglied
Java:
public String concat (String zahl, String zahlRot){
        return zahl + zahlRot;
    }
habs so probiert, da kommt aber nichts raus, nichtmal null oder so :/
 
J

Joose

Top Contributor
Ich hätte noch eine Frage: Wie kann ich Strings zusammefügen?
Entweder durch die Methode "concat" welche dir die Klasse String schon zur Verfügung stellt. Oder mit dem "+" Operator.

Also ich möchte sie nicht addieren, sondern ich möchte weitere Würfel hinzufügen!
Strings können auch nicht addiert werden ;) .... was meinst du damit weitere Würfel hinzufügen?

Wie kann ich dann mehrere Strings im Ouput durch Kommas trennen?
System.out.println(value1 + "," + value2 + "," value3 + .....);

habs so probiert, da kommt aber nichts raus, nichtmal null oder so :/
Wie rufst du diesen Code auf?
 
N

Nik.jar

Mitglied
Ok Moment, die einzelnen Ergebnisse bekomme ich jetzt endlich :D
Hab mich falsch ausgedrückt, ich wollte zum einen die einzelnen Ergebnisse und die dann Final addieren.
Das würde also nur gehen, wenn ich die Strings zu ints mache und dann addiere, richtig?
 
J

Joose

Top Contributor
Deine Klasse Wuerfel generiert dir ja eine Zufallszahl, diese ist schon "int".
Sprich ich sehe keinen Grund irendwo aus einem String wieder ein int zu parsen ;)

Am besten du zeigst uns den Code wo du jetzt was ausgibst bzw. addieren willst.
 
N

Nik.jar

Mitglied
Java:
 private String zahl;
    private String zahlRot;
    private String zahlBlau;
    private String output = zahl + zahlRot + zahlBlau;
das hab ich jetzt im becher oben geschrieben
 
N

Nik.jar

Mitglied
wenn ich die einzeln Nachgucke bekomme ich vernünftige Zahlen raus, aber bei dem String output kommt nur "null""null""null" raus
 
J

Joose

Top Contributor
Ja weil du den String output direkt bei der Deklarierung initialisierst. Zu diesem Zeitpunkt haben die Strings zahl, zahlRot bzw. zahlBlau aber noch keinen Wert sondern sind "null". Daher ist output auch nur "nullnullnull".

Java:
public class TestClass {
   private String zahl;
   private String zahlRot;
   private String zahlBlau;
   private String output = zahl + zahlRot + zahlBlau;
   
   public static void main(String[] args) {
       TestClass tc = new TestClass();
       tc.printData();
       tc.zahl = "ErsterWert";
       tc.zahlRot = "neuer Wert";
       tc.printData();
       tc.output = zahl + zahlRot + zahlBlau;
       tc.printData();       
   }
   
   private void printData() {
       System.out.println(zahl);
       System.out.println(zahlRot);
       System.out.println(zahlBlau);
       System.out.println(output);
   }
 
N

Nik.jar

Mitglied
Java:
import java.util.Random;
/**
* Write a description of class Becher here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Becher
{
    // instance variables - replace the example below with your own
    private int x;
    private String zahl;
    private String zahlRot;
    private String zahlBlau;
    private String output;
    /**
     * Constructor for objects of class Becher
     */
    public Becher()
    {
        // initialise instance variables
        x = 0;
    }

    /**
     * An example of a method - replace this comment with your own
     *
     * @param  y   a sample parameter for a method
     * @return     the sum of x and y
     */
    public int sampleMethod(int y)
    {
        // put your code here
        return x + y;
    }

    public void wirfDieWuerfel(){
        gelberWuerfel GelberWuerfel = new gelberWuerfel();
        GelberWuerfel.neueZufallszahl();
        zahl = GelberWuerfel.getzahl(); //neu, angucken
       
        roterWuerfel RoterWuerfel = new roterWuerfel();
        RoterWuerfel.neueZufallszahl();
        zahlRot = RoterWuerfel.getzahl();

        blauerWuerfel BlauerWuerfel = new blauerWuerfel();
        BlauerWuerfel.neueZufallszahl();
        zahlBlau = BlauerWuerfel.getzahl();
       
        String output = "zahl" + "zahlRot" + "zahlBlau";
    }   
}
Könnt ihr mir vielleicht nochmal weiterhelfen? D: Ich bekomme immer noch nur null zurück! Eigentlich verwende ich doch die Strings, wenn die nicht mehr null sind! Das sagt auch der debugger! wenn ich bei String output = ... bin, haben alle anderen Strings schon konkrete Zahlen!
Bin zugegeben ein wenig aufgeschmissen :O
 
Thallius

Thallius

Top Contributor
Du solltest dir wirklich erstmal ein Anfänger Buch zulegen und das von anfang an durcharbeiten. Deine augenblickliche Lernmethode macht so einfach keinen Sinn.
 
T

TheAnfänger

Mitglied
Zeig doch mal deinen kompletten Code. Dann sehen wir vielleicht ob der Fehler dort liegt.
 
H

Harry Kane

Top Contributor
Ich bekomme immer noch nur null zurück!
Ich sehe in deinem geposteten Code nirgends wo du überhaupt irgendeinen String zurückgibst. Offenbar fehlen in deinem Post wesentliche Teile.
In wirfDieWürfel deklarierst du eine lokale Variable output, die genauso heisst wie die Instanzvariable, und die auch vom gleichen Typ ist. Wenn du glaubst, damit den Wert der Instanzvariablen zu setzen, irrst du dich. Die Instanzvariable ist auch nach Aufruf der Methode wirfDieWürfel noch null.
Sowas verursacht mir Kopfschmerzen:
Java:
gelberWuerfel GelberWuerfel = new gelberWuerfel();
Bitte, bitte, bitte so schreiben (Klassenname Groß, Variablenname klein):
Java:
GelberWuerfel gelberWuerfel = new GelberWuerfel();
Und statt drei Klassen GelberWuerfel, RoterWuerfel und BlauerWuerfel müsste eine Klasse Wuerfel ausreichen, die über eine Variable "farbe" (von welchem Typ auch immer) hat.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Attribut Telefonnummer - eigene Klasse oder String Java Basics - Anfänger-Themen 13
itsmejo Erste Schritte Auf Attribut einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 14
N enum Attribut von Objekten einer Hashmap ausgeben Java Basics - Anfänger-Themen 6
X Attribut initialisieren Java Basics - Anfänger-Themen 1
Z Attribut ändern ohne Kontrollstruktur Java Basics - Anfänger-Themen 2
S NIO lesbares und beschreibbares Attribut setzen Java Basics - Anfänger-Themen 1
X Auf Attribut einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 2
H Objekt als Attribut speichern Java Basics - Anfänger-Themen 11
N Fehler bei string Attribut! Java Basics - Anfänger-Themen 18
B Attribut vom Typ einer Klasse? Java Basics - Anfänger-Themen 3
D Klassen Warum wird das Attribut nicht ausgegeben? Java Basics - Anfänger-Themen 8
N Attribut einer anderen Klasse übertragen/verwenden Java Basics - Anfänger-Themen 5
Aprendiendo Zwei Fragen und ein geerbtes "protected"-Attribut Java Basics - Anfänger-Themen 2
S Zugriff auf Attribut einer unbekannten Klasse erhalten Java Basics - Anfänger-Themen 6
A Kann man ein Attribut aus einer anderen Klasse nutzen? Java Basics - Anfänger-Themen 3
A Private Attribut aus fremder Klasse lesen ? Java Basics - Anfänger-Themen 19
J Objekt mit Attribut "ansprechen" Java Basics - Anfänger-Themen 7
J Innerhalb Interfacemethode: Interface als Attribut Java Basics - Anfänger-Themen 2
V Attribut aus aus jedem ArrayListen index auf Bildschirm ausgeben Java Basics - Anfänger-Themen 9
W Attribut Werte eines Objekts mit gettern ausgeben Java Basics - Anfänger-Themen 5
C Probleme bei einem Stringvergleich - Attribut "value" unterscheidet sich Java Basics - Anfänger-Themen 9
B Klassenübergreifendes Objekt Attribut Java Basics - Anfänger-Themen 7
P Ausnahme, wenn Attribut nicht definiert Java Basics - Anfänger-Themen 4
V Auf Objektreferenz über Attribut zugreifen Java Basics - Anfänger-Themen 10
M Objekt mit Liste als Attribut seralisieren? Java Basics - Anfänger-Themen 5
S Ein Attribut/Instanz eines bestehendes Objektes mit SETTER Methode ändern Java Basics - Anfänger-Themen 3
R Variablen final String Variable als Attribut veränderbar? Java Basics - Anfänger-Themen 21
V Methoden Zeilen nach bestimmtem Attribut sortieren Java Basics - Anfänger-Themen 4
Blindxantos Datentypen Uhrzeit in einem Attribut speichern Java Basics - Anfänger-Themen 3
H DOM Attribut als ID kennzeichnen Java Basics - Anfänger-Themen 12
L Methoden In einer Klasse ein Attribut aus einer anderen Klasse setzen Java Basics - Anfänger-Themen 8
M JLabel attribut wert zuweisen Java Basics - Anfänger-Themen 2
P Enum Attribut in Konstruktoren Java Basics - Anfänger-Themen 10
C Liste mit Attribut Abstract vererben Java Basics - Anfänger-Themen 11
I Von einer Methode eines Objektes auf Attribut eines Objektes anderer Klasse zugreifen Java Basics - Anfänger-Themen 4
Ollek Collections ArrayList Object - Attribut von dem Object vergleichen Java Basics - Anfänger-Themen 7
M .toString(); // Ausgabe: Attribut von Vaterklasse Java Basics - Anfänger-Themen 12
K OOP Datenkapselung mittels private - length Attribut bei Array Java Basics - Anfänger-Themen 3
K Attribut als Referenz auf Objekt Java Basics - Anfänger-Themen 8
J Variable vs Attribut Java Basics - Anfänger-Themen 4
S Klasse als Attribut implementieren Java Basics - Anfänger-Themen 2
W Maven2 <packaging>jar</packaging> über Attribut auf WAR ändern Java Basics - Anfänger-Themen 5
X Attribut in n Objekten suchen Java Basics - Anfänger-Themen 8
G Objekte mit dem Attribut title mit Comparator sortieren Java Basics - Anfänger-Themen 5
P Objekte als Attribut: Referenz oder Kopie? Java Basics - Anfänger-Themen 3
D Zugriff auf attribut anderer Klasse privat/public? Java Basics - Anfänger-Themen 9
R Suchen nach Attribut Java Basics - Anfänger-Themen 5
S Attribut beim erzuegen eines Objektes automatisch erhöhen Java Basics - Anfänger-Themen 6
? Zugriff auf Attribut einer anderen Klasse Java Basics - Anfänger-Themen 2
M probleme mit array (als attribut einer klasse) Java Basics - Anfänger-Themen 2
W Attribut nur in Unterklasse ändern Java Basics - Anfänger-Themen 10
J Attribut casten Java Basics - Anfänger-Themen 3
I Mehrere Klasseninstanzen ueber Attribut sortieren? Java Basics - Anfänger-Themen 2
J Attribut vom Objekt einer eigenen Klasse setzen Java Basics - Anfänger-Themen 6
megachucky wie bekomm ich ein private attribut aus einer andren klasse? Java Basics - Anfänger-Themen 18
J Wie greife ich vonEvent-Handler auf Attribut einer Klasse zu Java Basics - Anfänger-Themen 5
O if Abfrage erkennt String nicht Java Basics - Anfänger-Themen 1
NeoLexx Abfrage mit instanceof führt zu unerwarteten Wert Java Basics - Anfänger-Themen 9
N Bedinugng If-Abfrage wird nie erfüllt Java Basics - Anfänger-Themen 4
L boolean-Abfrage enumeration Java Basics - Anfänger-Themen 3
Y Methoden Wie kann ich eine if-Abfrage bei Setters bauen? Java Basics - Anfänger-Themen 6
S Streams - Abfrage absteigend sortieren Java Basics - Anfänger-Themen 11
F If Abfrage gibt falsches Ergebnis.... Java Basics - Anfänger-Themen 6
F POST-Request mit json - Abfrage mit Java Java Basics - Anfänger-Themen 2
C Javafunktion zur Abfrage eines Quellcodes Java Basics - Anfänger-Themen 15
A JOPtionPaneOptionDialog Abfrage welcher Button gedrückt wurde? Java Basics - Anfänger-Themen 8
B Folgende Abfrage dynamisch programmieren? Java Basics - Anfänger-Themen 8
G if Abfrage: Nicht jeder Fall berücksichtigt Java Basics - Anfänger-Themen 2
I Nur auf Abfrage von einer Text Datei einlesen Java Basics - Anfänger-Themen 11
J Erste Schritte if Abfrage von JButton in 2. Klasse Java Basics - Anfänger-Themen 27
S If Abfrage nur mit bestimmter Initialisierung? Java Basics - Anfänger-Themen 8
Z Boolean Abfrage in einer for each Schleife Java Basics - Anfänger-Themen 2
deatzi Variable aus If Abfrage später nutzen Java Basics - Anfänger-Themen 4
C Instanz einer Klasse während if-Abfrage erzeugen und bei zweiter if-Abfrage wiederverwenden Java Basics - Anfänger-Themen 6
S Backspace Abfrage funktioniert nicht Java Basics - Anfänger-Themen 4
F Interface JFrame mit if-Abfrage automatisch schließen lassen? Java Basics - Anfänger-Themen 3
R Abfrage von Variablen in Unterklassen einer ArrayList Java Basics - Anfänger-Themen 9
G Passwort und Passwort wiederholen in if-Abfrage vergleichen Java Basics - Anfänger-Themen 15
P Altklausur: Abfrage der Summe Java Basics - Anfänger-Themen 9
D MySQL Abfrage in JTable speichern Java Basics - Anfänger-Themen 43
D SQL Abfrage anpassen Java Basics - Anfänger-Themen 17
H For-Schleife innerhalb If-Abfrage? Java Basics - Anfänger-Themen 3
F Abfrage ob Eingabe eine Zahl ist Java Basics - Anfänger-Themen 3
O Datentypen Volle 16 Bit eines Short für flags Abfrage nutzen Java Basics - Anfänger-Themen 11
S Input/Output Doppelte Input-Abfrage Java Basics - Anfänger-Themen 3
S Input/Output Programm läuft nach input-Abfrage nicht weiter. Java Basics - Anfänger-Themen 2
M Variablen Eine etwas andere if Abfrage ! Java Basics - Anfänger-Themen 10
H if-Abfrage, ungleich und falscher true Wert? Java Basics - Anfänger-Themen 11
F Ja Nein Abfrage und andere Probleme Java Basics - Anfänger-Themen 5
OlafHD Fehler Bei der if Abfrage Java Basics - Anfänger-Themen 5
quecksilver if-Abfrage in main ausführen Java Basics - Anfänger-Themen 4
D if-Abfrage Java Basics - Anfänger-Themen 12
J Abfrage für Programmwiederholung Java Basics - Anfänger-Themen 2
K Alternative zur If-Abfrage Java Basics - Anfänger-Themen 3
M Java als Webanwendung mit Datenbank abfrage Java Basics - Anfänger-Themen 3
D Abfrage ob Variableninhalt korrekt Java Basics - Anfänger-Themen 5
W Vergleich mit If-Abfrage nur für Zahlen bis 07 möglich - Warum? Java Basics - Anfänger-Themen 7
D Operatoren IF Abfrage liefert falsches Ergebnis Java Basics - Anfänger-Themen 4
X Ja nein abfrage? Java Basics - Anfänger-Themen 9
A Erste Schritte Problem bei meiner if-Abfrage! Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Anzeige


Oben