Как я могу вызвать целое число из одного метода в другом методе? - PullRequest
0 голосов
/ 04 марта 2012

Я довольно новичок в программировании на Java ... но это действительно поставило меня в тупик, я искал некоторое время и не мог найти четкого ответа на то, что искал ... но скажем такУ меня есть два метода

public static void program1 (String[] args) {
    Integer intMoney;
    intMoney = 500;
}

public static void program2 (String[] args) {
    String strYes;
    strYes = JOptionPane.showInputDialog("type yes to subtract 100");
    if((strYes.equals("Yes") || (strYes.equals("yes")))) {
    /*((This is where I call the intMoney from program1) */ - 100;
    }else{
        JOptionPane.showMessageDialog(null, "Thats not yes!");
    }
}

И вот где я действительно застрял .. скажем, у меня есть другой метод, такой как program1, но как я могу вызвать значение intMoney в program1 в другом методе?

Допустим, у меня есть программа, и я хочу, чтобы intMoney был объявлен в отдельном методе, чтобы при повторении метода Program2 значение intMoney не изменилось, и оно будет таким же, когда метод вызываетсяеще раз.

Ответы [ 2 ]

2 голосов
/ 04 марта 2012

Прежде всего, ваша программа полностью не соответствует правилам и нормам и имеет так много ошибок:

  1. intMoney имеет функцию scope. Поэтому ее нельзя вызвать извне функции program1 ().Вы должны вернуть значение из этой функции для использования в другой функции.
  2. В вашем если вы проверяете 2 условия, разделенные ||но оба условия одинаковы. Используйте одно, пожалуйста.

    public static int program1 () {
    Integer intMoney;
    intMoney = 500;
    return intMoney;
    }
    
    public static void program2 () {
    String strYes;
    strYes = JOptionPane.showInputDialog("type yes to subtract 100");
    if((strYes.equals("Yes") || (strYes.equals("yes")))); {
    program1() - 100
    }else{
    JOptionPane.showMessageDialog(null, "Thats not yes!");
    
    }
    }
    
0 голосов
/ 04 марта 2012

Вы можете получить доступ к переменной в программе1, поскольку она не ограничена этим методом. Вы должны сделать что-то вроде этого:

public class Foo {
    public static Integer intMoney;

    public static void program1(String[] args) {
        intMoney = 500;
    }

    public static void program2(String[] args) {
        String strYes;
        strYes = JOptionPane.showInputDialog("type yes to subtract 100");
        if ((strYes.equals("Yes") || (strYes.equals("yes"))))
        {
            Integer i = intMoney;
            Integer x = i - 100;

        }else{
            JOptionPane.showMessageDialog(null, "Thats not yes!");

        }
    }
}

Конечно, теперь вам нужно сначала вызвать program1, чтобы установить переменную. Вы также можете просто инициировать это так: public static final Integer intMoney = 500;

Кроме того, что с параметрами String [] args, если вы их не используете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...