私はまだJavaにとって非常に新しいですし、ループに問題があります。価値の無限戻り値
私はランダムな値を持つオブジェクトを作成しようとしています。 私は私のメインのメソッドを呼び出すとき、無限のオブジェクトを返します。私は1をヒットした場合、私は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;
}
}
}
}
を呼び出したい
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();
}
}
、それはknight.Pickの無限の量を作成し、スタットdescripitionの無限の量を表示します。
方法 'choosePickは、()'あなたが無限ループ... – alfasin
'choosePickに取得している(最後の行)自体を呼び出すので、 () 'は' Pick'を返さなければなりません。 – khelwood
クラス、変数などについては、Java [命名規則](http://www.oracle.com/technetwork/java/codeconventions-135099.html)に従う必要があります。要件ではありませんが、追加情報を一目で確認するのに役立ちます。たとえば、 'knight'クラスは' Knight'で、変数 'Pick'は' pick'でなければなりません。 – Frelling