class Test {
private int[] arr;
public void initialisiereArray() {
arr = new int[]{1,2,3,4};
}
public void zeigeArray() {
System.out.println(java.util.Arrays.toString(arr));
}
}
class Test {
public void machWas() {
int[] arr = {1,2,3,4};
double mittelwert = berechneMittelwert(arr);
System.out.println(mittelwert);
}
public double berechneMittelwert(int[] werte) {
double sum = 0d;
for (int wert : werte) {
sum += wert;
}
return sum / werte.length;
}
}
class Test {
public int[] createArray() {
return new int[]{1,2,3,4}; // Array als Rückgabewert
}
public void machWas() {
int[] arr = createArray();
System.out.println(java.util.Arrays.toString(arr));
}
}
LOL, ok es sind drei MöglichkeitenEntweder du gibst das erstellte Array als Rückgabewert zurück
Entweder du gibst das erstellte Array als Rückgabewert zurück oder das Array ist eine Instanzvariable der Klasse.
Edit: Die dritte Möglichkeit, angelehnt an den Code von @mihe7
Java:class Test { public int[] createArray() { return new int[]{1,2,3,4}; // Array als Rückgabewert } public void machWas() { int[] arr = createArray(); System.out.println(java.util.Arrays.toString(arr)); } }
Generell solltest du versuchen ein System in dein Spiel zu bringen, indem du es vernünftig in Klassen unterteilst. Du hast ja bereits einige davon.
private static Superhero[] createSuperhero1(){
Superhero[]team = new Superhero[5];
if(Superhero.anzahlHeroes <4) {
do {
//Superpower erstellen
Superpower super1 = new Superpower("Eispickel");
Superpower super2 = new Superpower("Feurball");
Superpower super3 = new Superpower("Blattschwert");
Superpower super4 = new Superpower("Wasserstoß");
Superpower super5 = new Superpower("Dunkelnebel");
Superpower super6 = new Superpower("Lichtsstrahl");
//Superpowerattribute setzen
super1.setactionDescription("schießt Eisplitter auf den Gegner");
super1.setid();
super2.setactionDescription("schießt einen Feuerball auf den Gegner");
super2.setid();
super3.setactionDescription("greift den Gegner mit einem Blattschwert an");
super3.setid();
super4.setactionDescription("Durchstößt den Gener mit Wasser");
super4.setid();
super5.setactionDescription("Umhüllt den Gegner mit Nebel");
super5.setid();
super6.setactionDescription("Durchdringt den Gegner mit einem Lichtstrahl");
super6.setid();
//Abfrage nach Namen
System.out.println("\nWelchen Namen soll der " +(Superhero.anzahlHeroes+1) + ". Held haben?");
//Scannerobjekt erstellen
Scanner scanner2 = new Scanner(System.in);
//Scannervariable erstellen
String name2 = scanner2.nextLine();
//Scanner schließen1
//Held erstellen
Superhero hero = new Superhero(name2);
hero.setID();
hero.setHealthpointsCurrent(50);
hero.setHealthpointsMax(50);
hero.setExperiencePoints(0);
hero.setReadytofight(true);
hero.setInFight(false);
hero.setAlive(true);
Random random1 = new Random();
int x = random1.nextInt(4);
if (x == 0) {
hero.setSuperpower1(super6);
hero.setSuperpower2(super5);
hero.setSuperpower3(super3);
}
if (x==1) {
hero.setSuperpower1(super5);
hero.setSuperpower2(super4);
hero.setSuperpower3(super2);
}
if (x==2) {
hero.setSuperpower1(super5);
hero.setSuperpower2(super6);
hero.setSuperpower3(super1);
}
if (x == 3) {
hero.setSuperpower1(super2);
hero.setSuperpower2(super1);
hero.setSuperpower3(super4);
}
team[Superhero.anzahlHeroes -1] = hero;
System.out.println("Der " +(Superhero.anzahlHeroes)+". Hero heißt " + hero.getName() +"\n") ;
System.out.println("Deine Fähigkeiten sind: \n1." + hero.getSuperpower1().getName() + "\n2." + hero.getSuperpower2().getName() +"\n3." + hero.getSuperpower3().getName());
}
while(Superhero.anzahlHeroes <5);
showMenu();
int choice = readUserInput();
handle(choice);
System.out.println("====================");
}
else {
System.out.println("Maximale Anzahl an Helden erreicht");
showMenu();
int choice = readUserInput();
handle(choice);
System.out.println("====================");
}
return team;
}
Naja, das kommt darauf an, wie Du das zurückgegebene Array in Deine Methode "aufgenommen" hast.Weil ich hab das jetzt so gemacht und kann trotzdem nicht die Werte des Arrays in einer anderen Methode ausgeben
Anscheinend trifft die Bedingung innerhalb von createSuperhero() betreffs der Anzahl der Superhelden zu. Bedenke, dass bei jedem Aufruf der Methode versucht wird ein neues Array zu erstellen. Offenbar geht das aber nur einmal (wegen der Anzahl).da gibt er mir nur Maximale Anzahl an Helden erreicht aus