Как я могу использовать переменную в функции, которая определена в другой функции? - PullRequest
0 голосов
/ 19 января 2020

Я написал следующий класс:

public class Hello {

   public static void showMoney(){
       System.out.println("Money: " + money);
   }


   public static void main(String[] args){
       int money = 1000;
       showMoney();
   }
}

Я хочу видеть мои деньги с помощью функции showMoney(), но функция showMoney() не может распознать мою денежную переменную в основном методе. Есть ли способ сделать это правильно?

Спасибо.

Извините за глупый вопрос, так как я ладья ie в программировании.

Ответы [ 2 ]

1 голос
/ 19 января 2020

Есть много способов сделать это. Первый и, вероятно, лучший способ - передать аргумент money в функцию следующим образом:

public class Hello {

   public static void showMoney(int money){
       System.out.println("Money: " + money);
   }


   public static void main(String[] args){
       int money = 1000;
       showMoney(money);
   }
}

Другой способ - объявить переменную money в поле stati c следующим образом:

public class Hello {
   private static int money;
   public static void showMoney(){
       System.out.println("Money: " + money);
   }


   public static void main(String[] args){
       money = 1000;
       showMoney();
   }
}
1 голос
/ 19 января 2020

Наиболее правильным способом в этом сценарии является передача данных в качестве аргумента:

// Have this method accept the data as a parameter
public static void showMoney(int passedMoney){
    System.out.println("Money: " + passedMoney);
}


public static void main(String[] args){
    int money = 1000;

    // Then pass it in here as an argument to the method
    showMoney(money);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...