2つの別々のクラスからクラスのオブジェクトを作成していて、両方のオブジェクトが同じメソッドに対して異なる値を返しています。私はそれがwhileループの問題かもしれないと思うが、ここにクラスがある。メインクラスが動作し、セットアップクラスは変換されてオブジェクトになり、ゲームループクラスは正しい値を返さないオブジェクトを持ちます。セットアップの最初に定義された値を返します。変更されたバージョンは返しません。同じ値を返さないクラスのJavaオブジェクト
import java.util.Scanner;
public class MainClass {
static Scanner input = new Scanner(System.in);
//String x = input.nextLine();
public static void main(String[] args)
{
setup setupGov = new setup();
gameLoop gameLoop = new gameLoop();
setupGov.statsSetup();
System.out.println("happyness: " + setupGov.getHappyness() + " money: £" + setupGov.getMoney() + " population: " + setupGov.getPopulation());
gameLoop.loop();
}
}
import java.util.Scanner;
public class setup {
static Scanner input = new Scanner(System.in);
String goverment;
int happyness;
double money;
int population = 1000000;
public setup()
{
}
public void statsSetup()
{
System.out.println("Choose a goverment: 1. democracy 2. monarchy 3. dictatorship");
goverment = input.nextLine();
if (goverment.equals("1"))
{
happyness = 75;
money = 250000.0;
}
else if (goverment.equals("2"))
{
happyness = 50;
money = 500000.0;
}
else if (goverment.equals("3"))
{
happyness = 25;
money = 750000.0;
}
else
{
System.out.println("ENTER A VALID VALUE");
}
}
public int getHappyness()
{
return happyness;
}
public double getMoney()
{
return money;
}
public int getPopulation()
{
return population;
}
}
import java.util.Scanner;
public class gameLoop
{
static Scanner input = new Scanner(System.in);
static int turn = 0;
int happyness;
double money;
int population;
public gameLoop()
{
}
setup setupGov = new setup();
public static void main(String[] args)
{
}
public void loop()
{
while (true)
{
System.out.println("Turn: "+turn);
input.nextLine();
turn++;
}
}
}
James、私はあなたの質問が非常に不明であることを発見しています。どのようなインプットを提供していますか、どのような結果が期待されていますか、どのような結果が実際に得られていますか?そして、「クラスをオブジェクトに変換する」ということはどういう意味ですか?インスタンス化を意味しますか? –
下のクラスには空のmainメソッドがあります....何も実行されません。何をしようとしていますか? –
@ cricket_007私は彼がトップクラスでクラスを運営していると信じています。 –