2016-11-12 2 views
0

Я новичок в java. Я создал объект класса, но когда я пытаюсь получить доступ к методу из объекта, он говорит, что он не может быть разрешен. В 2 класса нижеJava: метод из другого класса не может быть разрешен

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; 

    public gameLoop() { 
    } 

    public static void main(String[] args) { 
     setup setupGov = new setup(); 
    } 

    public void loop() { 
     while (true) { 
      System.out.println("Turn: "+turn); 
      ***System.out.println("happyness: " + setupGov.getHappyness() + " money: £" + setupGov.getMoney() + " population: " + setupGov.getPopulation());*** 
      input.nextLine(); 
      turn++; 
     } 
    } 
} 

ошибка происходит в классе gameLoop, когда я пытаюсь напечатать переменные из класса настройки

+0

Поскольку вы создаете локальную переменную в 'main', которая не передается вашей функции' loop'? – UnholySheep

+0

Подсказка в следующий раз: вы хотите, чтобы мы провели время, чтобы помочь вам; поэтому вы можете потратить несколько минут, необходимых для правильного форматирования/отступов ** всего ** вашего кода. Тогда: не перегружайтесь. Затем: прочитайте о соглашениях о кодировке java. Имена классов запускают верхний регистр, ** всегда **. – GhostCat

+0

Вы никогда не называли 'loop()' anyways. –

ответ

1

движение setup setupGov = new setup(); вне функции main, положил его право под static int turn = 0;

И я настоятельно рекомендую вам найти хороший курс по основам программирования, есть много там

Смежные вопросы