eine liste sortieren

java3690

Mitglied
hi leute,
ich will eine liste erstellen und dort die zahlen von 1 bis 50 zufällig einfügen und dann diese zusammen addieren.
hier mein Ansatz, den ich mir hier und da zusammengewürfelt habe:


Java:
import java.util.Random;
import java.util.Set;
import java.util.HashSet;

public class RandomNum {

    public static final void zahlenbis50(){
        final Random zufaelligezahl = new Random();
        final Set<Integer> s = new HashSet<>();
        for(int i = 0; i < 50; i++){
                while(true) {
                int zahl = zufaelligezahl.nextInt(50) + 1;
                if (s.contains(zahl) == false) {
                    s.add(zahl);
                    System.out.println(zahl);
                   
                }
            } 
        }
    }  

}
kann wer mir bitte sagen, ob das eine liste ist oder nicht und wie ich außerdem die zahlen hier addieren kann
ich wäre euch sehr dankbar
 
Zuletzt bearbeitet von einem Moderator:
Sollst du
  1. eine Liste sortieren?
  2. eine Liste mit allen Zahlen von 1 bis 50 füllen und deren Reihenfolge soll dann zufällig sein?
  3. Oder Zahlen in einer Liste aufsummieren?

Du benutzt aktuell ein Set, das ist keine Liste, Punkt 1. ist damit nicht möglich, Punkt 2 auch nicht, da ein (Hash-) Set keine Reihenfolge hat, und Punkt 3 wäre ziemlich witzlos, da das mit der Gaußschen Summenformel trivial ist.
 
Um dich wenigsten mal in Richtung einer Liste zu weisen: Schau dir ArrayList an!

Ansonsten ist es sinnlos, wenn die Liste alle Zahlen von 1 - 50 enthält. Egal, ob zufällig oder nicht, die Summe steht von vornherein fest.

Vielleicht möchtest du die Liste mit 50 zufälligen Zahlen füllen?
 
Um dich wenigsten mal in Richtung einer Liste zu weisen: Schau dir ArrayList an!

Ansonsten ist es sinnlos, wenn die Liste alle Zahlen von 1 - 50 enthält. Egal, ob zufällig oder nicht, die Summe steht von vornherein fest.

Vielleicht möchtest du die Liste mit 50 zufälligen Zahlen füllen?
ja ich hab mich nicht richtig ausgedruckt.
wie du gesagt hast muss ich die Liste mit den zahlen 1 bis 50 zufällig füllen
 
ja ich hab mich nicht richtig ausgedruckt.
wie du gesagt hast muss ich die Liste mit den zahlen 1 bis 50 zufällig füllen
Mit fünfzig zufälligen Zahlen, zwischen 1 und 50, die nicht doppelt vorkommen dürfen?

Dann landest du wieder genau hier:
Ansonsten ist es sinnlos, wenn die Liste alle Zahlen von 1 - 50 enthält. Egal, ob zufällig oder nicht, die Summe steht von vornherein fest.
Was ich damit ausdrücken möchte:
ja ich hab mich nicht richtig ausgedruckt.
Das hast du immer noch nicht 😉
 
Sollst du
  1. eine Liste sortieren?
  2. eine Liste mit allen Zahlen von 1 bis 50 füllen und deren Reihenfolge soll dann zufällig sein?
  3. Oder Zahlen in einer Liste aufsummieren?

Du benutzt aktuell ein Set, das ist keine Liste, Punkt 1. ist damit nicht möglich, Punkt 2 auch nicht, da ein (Hash-) Set keine Reihenfolge hat, und Punkt 3 wäre ziemlich witzlos, da das mit der Gaußschen Summenformel trivial ist.
wie würden ein programm aussehen, wo man eine liste mit zahlen von 1 bis 50 füllt und dann diese addiert
wie gesagt ich kenne mich leider nicht viel damit aus und wüsste nicht wie statt ein Set eine liste benutzen kann
 
Um dich wenigsten mal in Richtung einer Liste zu weisen: Schau dir ArrayList an!

Ansonsten ist es sinnlos, wenn die Liste alle Zahlen von 1 - 50 enthält. Egal, ob zufällig oder nicht, die Summe steht von vornherein fest.

Vielleicht möchtest du die Liste mit 50 zufälligen Zahlen füllen?
ja ich weiß allerdings ist die Aufgabe hierbei, dass ich auf die summe komme, dadurch, dass ich die einzelnen Werte der liste also die zufälligen zahlen die ich generiert habe addiere ud dann erst auf das Ergebnis komme.
 
Sets haben keine Reihenfolge, d. h. Mengen {1,2,3} und {3,2,1} sind identisch -> ungünstig.

Um statt eines Sets eine Liste zu verwenden, änderst Du einfach die Typen entsprechend ab: List statt Set und z. B. ArrayList statt HashSet.

Füll einfach eine Liste mit den Zahlen von 1 bis 50 und verwende Collections.shuffle.
 
Sollst du wirklich 50 zufällige Zahlen zwischen 1 und 50 einfügen, von denen jede nur einmal vorkommen darf?

Das würde dann genau den Zahlen von eins bis fünfzig entsprechen. Der Zufall spielt da für die Summe keine Rolle.
 
Mit fünfzig zufälligen Zahlen, zwischen 1 und 50, die nicht doppelt vorkommen dürfen?

Dann landest du wieder genau hier:

Was ich damit ausdrücken möchte:

Das hast du immer noch nicht 😉
ja wie gesagt ich weiß, dass man so oder so auf das selbe ergebnis kommen soll, allerdings ist die aufgabe, dass man die generierten 50 zahlen der rheinfolge nach wahrscheinlich addiert und dann erst aufs Ergebnis kommt
macht das mehr sinn?
ansonsten hier die Aufgabenstellung: Füge in eine Liste die Zahlen von 1 bis 50 in zufälliger Reihenfolge ein. Gehe durch die Liste und gib die Summe aller Zahlen der Liste auf der Konsole
 

Zurück
Oben