Zusammenzählen von zufällig generierten Zahlen in Java?

Joneyf

Mitglied
Zusammenzählen von zufällig generierten Zahlen in Java?
Folgendes Problem:

Ich generiere in einer Nebenklasse eine zufällige Zahl

Java:
public int gibNeueZahl() {
  int NeueZahl;
  int z = (int) Math.pow (10, AnzahlStellen - 1);
  NeueZahl = (int) (Math.random() * 9 * z + z);
  return NeueZahl;
}
In der Hauptklasse wird diese ausgegeben:

Java:
for (int Ausgabe = 0; Ausgabe < AnzahlZahlen; Ausgabe++) {
  System.out.println(neueZahl.gibNeueZahl());
}
Hier werden soviele zufällig generierten Zahlen ausgegeben, wie der Benutzer mit AnzahlZahlen = Eingabe.nextInt(); will.

Nun sollen alle zufällige Zahlen in der Methode int liesSumme, welche sich in der Nebenklasse befindet, zusammengerechnet werden, aber wie geht das?

P.S Ich habe keine Ahnung mehr wie man formatiert sry
 
Zuletzt bearbeitet von einem Moderator:
Speicher die Zahlen einfach in einem Array/List, nachdem du sie generiert hast. In der Funktion liesSumme kannst du sie dann einfach addieren
Java:
result = 0;
for(int i: zahlen){
    result += i;
}
return rsult;
ca. so 🙂
 
Java:
public int gibNeueZahl() {
   int NeueZahl = 0;
   int z = (int) Math.pow (10, AnzahlStellen - 1);
   NeueZahl = (int) (Math.random() * 9 * z + z);
   int Summe = 0;
   Summe = NeueZahl + Summe;
   return NeueZahl;
}

public int liesSumme () {
  return Summe;
}
 
Zuletzt bearbeitet von einem Moderator:
Hey Leute ich hab jetzt die Lösung, verstehe aber nicht was an meiner alten falsch war:
private int Summe();
!RICHTIG!
public int gibNeueZahl()
{
int z = (int) Math.pow(10, AnzahlStellen - 1);
int neueZahl = (int) (Math.random() * 9 * z + z);
Summe += neueZahl;
return neueZahl;
}

public int liesSumme()
{
return Summe;
}

!FALSCH!
public int gibNeueZahl()
{

int NeueZahl = 0;
int z = (int) Math.pow (10, AnzahlStellen - 1);
NeueZahl = (int) (Math.random() * 9 * z + z);

Summe =+ NeueZahl;
return NeueZahl;

}

public int liesSumme ()
{
return Summe;
}
 
Java:
private int summe;

    public int gibNeueZahl()
    {

        int NeueZahl = 0;
        int z = (int) Math.pow (10, AnzahlStellen - 1);
        NeueZahl = (int) (Math.random() * 9 * z + z);

        summe += NeueZahl;
        return NeueZahl;

    }

    public int liesSumme ()
    {
        return summe;
    }
So sollte es doch gehen ? 🙂
 
Zuletzt bearbeitet:
Falls du mit deklarieren meinst, dass ich das private int Summe; vergessen habe, dann habe ich es nur blöd reinkopiert. Es steht noch vor dem !RICHTIG! und !FALSCH!, heisst es wurde bei beidem geschrieben
 
Java:
private int summe;

    public int gibNeueZahl()
    {

        int NeueZahl = 0;
        int z = (int) Math.pow (10, AnzahlStellen - 1);
        NeueZahl = (int) (Math.random() * 9 * z + z);

        summe =+ NeueZahl;
        return NeueZahl;

    }

    public int liesSumme ()
    {
        return summe;
    }
So sollte es doch gehen ? 🙂
Deine Version funktioniert auch nicht, deswegen frage ich mich ja wo der Unterschied ist. Soweit ich es sehe liegt er im int NeueZahl = 0; was bei der funktionierenden Version nicht vorhanden ist, aber wieso ist das falsch?!
 
wow. Ich habe den Code nur kopiert - habe das gar nicht gesehen 😵 Wie unaufmerksam
Meine Bemerkung bezog sich auch eigentlich auf den Code von @Joneyf, der in seiner richtigen Version += und in der fehlerhaften =+ benutzt hat. Dein Posting kam dann unbemerkt dazwischen.🙂
Ich habe nicht einmal gewusst, dass es den gibt =+
Das ist wohl auch kein eigenständiger Operator, aber man kann ja vor jede Zahl ein + schreiben, ohne deren Wert zu verändern. x =+ yist also dasselbe wiex = +yoderx = y.
 

Zurück
Oben