Ich bin immer noch sehr neu in Java und habe ein Problem mit einer Schleife.Endlose Rückgabe von Wert
Ich versuche, ein Objekt mit zufälligen Werten zu machen. Wenn ich die Methode in meinem Haupt aufrufen, gibt es endlose Objekte zurück.
public class knights{
public double health;
public weapons weapons;
public double speed;
public knights(double health,int weapons, double speed){
this.health = health;
this.weapons = new weapons(weapons);
this.speed = speed;
}
public static knights choosePick(){
knights Pick = new knights((70 + (Math.random() * (130 - 70))),-1,(100 + (Math.random() * (150 - 100))));
System.out.println("The knight Pick is equipped with " + Pick.weapons.type + ". Its damages are " +Pick.weapons.atk + " It has " + Pick.weapons.acc + " accuracy " + "\n" + "He has " + Pick.health + " Health points" + "\n" + "His speed is " + Pick.speed);
return choosePick();
}
}
Ich möchte choosePick
import java.util.Scanner;
public class main_1vs1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int knight =0;
while(knight != 1 && knight !=2) {
System.out.println("which knight do you choose? Pick is fast (1), Crock is strong (2). " + "\n" + "Make your choice :" + "\n");
knight = sc.nextInt();
if (knight==1){
knights.choosePick();
break;
}
else if (knight==2){
knights.chooseCrock();
break;
}
}
}
}
nennen Wenn ich 1 getroffen, wird es endlose Menge an knight.Pick schaffen und zeigen endlose Menge an stat descripition.
Da die Methode 'choosePick()' nennt sich (letzte Zeile) Sie in einer Endlosschleife immer ... – alfasin
'choosePick() 'sollte' Pick' zurückgeben, nicht selbst zurückgeben. – khelwood
Als eine Randnotiz sollten Sie Java [Namenskonventionen] (http://www.oracle.com/technetwork/java/codeconventions-135099.html) für Ihre Klassen, Variablen usw. folgen. Dies ist zwar keine Voraussetzung, tut es aber helfen Sie, zusätzliche Informationen auf einen Blick bereitzustellen. Zum Beispiel sollte die Klasse 'knight'' Knight' sein und die Variable 'Pick' sollte' pick' sein. – Frelling