Random spukt nur 0en aus
Wieso spukt folgender Code nur Nullen aus?
import java.util.Random;
class City {
int x;
int y;
Random generator = new Random(548796354);
public void City(){
x = generator.nextInt()%20;
y = generator.nextInt()%20;
}
public static void main(String args){
City c = new City();
System.out.println(c.x);
System.out.println(c.y);
}
}
import java.util.Random;
class City {
int x;
int y;
Random generator = new Random(548796354);
public void City(){
x = generator.nextInt()%20;
y = generator.nextInt()%20;
}
public static void main(String args){
City c = new City();
System.out.println(c.x);
System.out.println(c.y);
}
}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 87338
Url: https://administrator.de/contentid/87338
Ausgedruckt am: 26.11.2024 um 06:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo,
hast du denn mal einen anderen RandomSeed ausprobiert?
Grundsätzlich wirst du aber immer die gleiche Zahl herausbekommen. Du erzeugst jedes mal ein neues City-Objekt, dabei wird jedes mal der Zufallszahlengenerator mit gleichen Zahl initialisiert. Also fällt auch jedes mal der gleiche Wert raus.
Gruß
Filipp
hast du denn mal einen anderen RandomSeed ausprobiert?
Grundsätzlich wirst du aber immer die gleiche Zahl herausbekommen. Du erzeugst jedes mal ein neues City-Objekt, dabei wird jedes mal der Zufallszahlengenerator mit gleichen Zahl initialisiert. Also fällt auch jedes mal der gleiche Wert raus.
Gruß
Filipp
salü!
man entferne aus dem Konstruktor der Klasse einfach das "void"!
gruss tacker
man entferne aus dem Konstruktor der Klasse einfach das "void"!
import java.util.Random;
class City {
int x;
int y;
Random generator = new Random(548796354);
public City(){
x = generator.nextInt()%20;
y = generator.nextInt()%20;
}
public static void main(String args){
City c = new City();
System.out.println(c.x);
System.out.println(c.y);
}
}
gruss tacker
hmm so ich hoff ma ich hab dich richtig verstanden und der code hilft dir so weiter
import java.util.Random;
class City2 {
int x;
int y;
boolean fund=false;
Random generator = new Random();
Random generator2 = new Random();
public City2(){
int x;
int y;
int temp;
for (int i=0;fund==false;i++){
temp=generator.nextInt(548796354);
if (temp%20==0){
x=temp;
fund=true;stoppt wenn eine durch 20 glatt teilbare zahl gefunden wurde die suche (for schleife)
}}
for (int i=0;fund==false;i++){
temp=generator2.nextInt(548796354);
if (temp%20==0){
y=temp;
fund=true;
}}
}
public static void main(String args){
City2 c = new City2();
System.out.println(c.x);
System.out.println(c.y);
}
}
import java.util.Random;
class City2 {
int x;
int y;
boolean fund=false;
Random generator = new Random();
Random generator2 = new Random();
public City2(){
int x;
int y;
int temp;
for (int i=0;fund==false;i++){
temp=generator.nextInt(548796354);
if (temp%20==0){
x=temp;
fund=true;stoppt wenn eine durch 20 glatt teilbare zahl gefunden wurde die suche (for schleife)
}}
for (int i=0;fund==false;i++){
temp=generator2.nextInt(548796354);
if (temp%20==0){
y=temp;
fund=true;
}}
}
public static void main(String args){
City2 c = new City2();
System.out.println(c.x);
System.out.println(c.y);
}
}