【发布时间】:2017-03-26 20:52:09
【问题描述】:
我正在从 2 个单独的类创建一个类的对象,并且两个对象都为同一方法返回不同的值。我怀疑这可能是while循环的问题,但这里是类。主类有效,设置类是被转换为对象的类,游戏循环类具有不返回正确值的对象。它返回设置开始时定义的值,而不是修改后的版本。
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++;
}
}
}
【问题讨论】:
-
詹姆斯,我发现你的问题很不清楚。你提供什么输入,你期望什么结果,你实际得到什么结果? “将类变成对象”是什么意思?你的意思是实例化它吗?
-
底部的类有一个空的main方法....什么都不会运行。你想在那里做什么?
-
@cricket_007 我相信他在班级里名列前茅。
-
我相信主类是从顶部开始的,但是@James Clarke 你能检查一下你的运行配置中有哪个类吗?
标签: java class object while-loop return