Hejsan i följande kod har jag en metod som trollar ihop en del matcher som jag sedan ska tippa på. Du måste spara svaret i main som du får i från createGames.Metoden returnerar en string, hur får jag tag i den?
Metoden createGames returnerar games. Hur får jag sedan tag på det som ligger i games uppe i main metoden så att jag kan använda mig av det som finns i den?
Tänkte skriva ut en position i games åt gången men "return games;" skriver inte ut något överhuvudtaget och om jag skriver t.ex. System.out.println(games[1]); i main metoden så vill den inte alls veta av games eller nåt, precis som den inte vet vad games är. Ska den inte göra det där?
Hur ska jag annars programmera mot games? Är riktigt kass på detta med metoder så skulle verkligen uppskatta om någon kunde tala om för mig hur jag ska göra.
public static void main(String[] args) {
temp temp = new temp();
System.out.println("Ange i följande matcher vad du tror resultatet blir med 1 X 2");
createGames();
}
//Deklarerar arrayen teams som innehåller alla lag.
static String[] teams = {"Chelsea", "Arsenal", "Manchester U", "Everton",
"Liverpool", "Middlesbrough", "Charlton", "Tottenham",
"Manchester C", "Aston Villa", "Bolton", "Newcastle",
"Portsmouth", "Birmingham", "Fulham", "Blackburn",
"Crystal Palace", "Norwich", "Southampton", "West Bromwich",
"Ipswich", "Sunderland", "Cardiff", "Coventry", "Stoke", "Burnley"};
static String[] createGames() {
String[] games = new String[13];
/*För varje match ska vi hitta två lag, ett hemmalag och ett bortalag
Dessa ska väljas ut slumpmässigt bland de 26 lag som finns i teams.
*/
String[] homeTeam = new String[13];
String[] awayTeam = new String[13];
/*Sätter varje värde i homeTeam och
awayTeam till "none" för att slippa nullPointerExceptions.
*/
for (int x = 0; x < 13; x++) {
homeTeam[x] = "none";
awayTeam[x] = "none";
}
//Sätt ihop hemmalag
String t = "";
for (int i = 0; i < homeTeam.length; i++) {
t = teams[ (int) (Math.random() * 26)];
/*Finns laget redan med måste vi välja ett annat.
Vi fortsätter välja tills vi hittar ett nytt lag
teamExist()-metoden returnerar true om laget redan finns i det fält vi
försöker lägga till det i, annars false.
*/
while (teamExist(homeTeam, t)) {
t = teams[ (int) (Math.random() * 26)];
}
homeTeam[i] = t;
}
//Sätt ihop bortalag
for (int i = 0; i < awayTeam.length; i++) {
t = teams[ (int) (Math.random() * 26)];
//finns laget redan med måste vi välja ett annat
//Obs! här måste vi kolla både hemma och bortalag
while (teamExist(homeTeam, t) || teamExist(awayTeam, t)) {
t = teams[ (int) (Math.random() * 26)];
}
awayTeam[i] = t;
}
//Sätter ihop matcherna av hemma- och bortalag
for (int a = 0; a < games.length; a++) {
games[a] = "Match " + (a + 1) + " : " + homeTeam[a] + " - " + awayTeam[a];
}
//Matcherna är klara, bara att returnera!
//for (int a = 0; a < games.length; a++)
//System.out.println(games[a]);
return games;
}
static boolean teamExist(String[] teams, String team) {
for (int i = 0; i < teams.length; i++) {
if (teams[i].equals(team)) {
return true; //finns laget returnera true
}
}
return false;
}Sv: Metoden returnerar en string, hur får jag tag i den?
Så här i main:
String[] games = createGames();
Den deklarerar en sträng-array som sparar returvärdet i main.