Jag är väldigt ny när det gäller java så jag hoppas ni har förståelse.
Jag har börjat med att göra en method (tror jag det heter) som skriver ut alla mina sträng värden ur en array & det fungerar bra.
Men nu vill jag göra en method som slumpar fram en sträng från samma array.
Eftersom java är ganska logiskt så ser jag också att det jag gjort inte fungerar, men vet tyvärr inte hur jag skall lösa det med dom få kunskaper jag har idag.
Vore mycket tacksam om någon kan hjälpa mig i utbildningssyfte.
Places.java
import java.util.Random;
// Skriver ut alla ställen.
class Places {
public void PrintAllPlaces() {
String[] p = {"Statoil", "Systembolaget", "Ikea", "Ica Maxi", "Coop Forum", "Media Markt", "Gröna Lund", "Lisseberg", "Shell", "Tanka", "El Giganten", "Pizzeria Lacarda" };
for(String x: p) {
System.out.println(x);
}
}
// Skriver ut ett slumpat ställe.
public void printRandomPlace() {
Random objRand = new Random();
int randomNumber = 0;
for(int counter = 0; counter <= places.length; counter++) {
randomNumber = objRand(counter);
System.out.println(places[randomNumber]);
}
}
}
I min main
// Skriver ut alla platser
Places ObjPlaces = new Places();
ObjPlaces.PrintAllPlaces();
Så vad är det du vill göra egentligen? Just nu har du alltså en metod i klassen som skapar en lokal strängarray och skriver ut den. Sedan har du en annan metod som försöker skriva ut slumpmässiga element ur en array som heter "places". Jag ser dock inte var denna variabel finns definierad. Kompilerar detta ens?
Exakt vad är det du vill åstadkomma? Du trycker på att det skall vara "samma" array, men vad menar du med samma? Samma innehåll eller samma varabel? Skall det vara samma array, måste den ju leva mellan två metodanrop och vara åtkomlig i bägge.
Nu måste jag bara inflika brasklappen att jag inte är Javaprogrammerare, men jag har ju hållt på med C++ sedan Bjarne uppfann det. Så jag kan inte ge dig någon källkod rakt av, men du borde ju titta på att lägga din array "places" som en medlemsvariabel i klassen. Eventuellt kan du vilja ha en konstruktor som fyller den.
Din printRandomPlace behöver ju knappast en loop, eftersom den bara skall ge ett värde.
Sedan borde du kanske tänka igenom din design lite också. Vad symboliserar ett "Places"-objekt? Vad skiljer en instans från en annan om de alltid innehåller samma lista? Borde du fundera på en statisk (eller vad de nu heter i Java) klass?
133 ms totalt · 3 externa anrop · v20260731065814-full.55e59744