Как передать переменную из основного класса метода в другой класс? - PullRequest
0 голосов
/ 23 апреля 2019

Хорошо ... в моем основном классе я прошу пользователя ввести значение int для ввода.Теперь мне нужно перенести это значение в другой класс для некоторого кодирования.Как?

Код из основного класса:

neededValue = keyboard.nextInt();

object.methodName(xxxx, yyyy):

Код из другого метода в другом классе:

public void methodName(double xxxx, int yyyy) {

        int index;

        for (index = 0; index < array.length; index++) {
            xxxx = array[index].xxxx;
            if (xxxx > **neededValue**) {
                //some more code

            }

        }
    }

Допустим, пользовательввод 4, как я могу передать это "4" другим классам?

Ответы [ 5 ]

0 голосов
/ 03 мая 2019

Несколько способов сделать это, немногие перечислены ниже,

i) Создать параметр в вашем методе (объяснено в других решениях).

ii) Создайте переменную в своем классе с помощью методов get / set в своем классе (объяснено в других решениях).

iii) Создайте статическую переменную в вашем классе (пояснено ниже)

У вас может быть статическая переменная в вашем классе,

private static int neededValue;

И в вашем main вы можете присвоить ей значение.

ClassName.neededValue = keyboard.nextInt();

object.methodName(xxxx, yyyy):

И вы можете использовать непосредственно в своем методе класса

public void methodName(double xxxx, int yyyy){
int index;

for (index = 0; index < array.length; index++) {
    xxxx = array[index].xxxx;
    if (xxxx > ClassName.neededValue) {
        //some more code
    }
 }
}

Отказ от ответственности: узнайте больше о статическом ключевом слове перед его использованием.

0 голосов
/ 23 апреля 2019
  1. Вы можете передать переменную nextValue методу напрямую, например:

object.methodName(xxxx, yyyy, nextValue)

  1. или вы можете объявить переменную int в классе A объекта:

    int someValue;

и установить его конструктором или сеттером

object = new A(nextValue);
or object.setNextValue(nextValue)

тогда ваш вызов object.methodName(xxxx, yyyy) будет работать с полем someValue внутри объекта

0 голосов
/ 23 апреля 2019

Из основного:

neededValue = keyboard.nextInt();

object.methodName(xxxx, yyyy, neededValue):

Из класса:

public void methodName(double xxxx, int yyyy, int neededValue){
    int index;

    for (index = 0; index < array.length; index++) {
        xxxx = array[index].xxxx;
        if (xxxx > **neededValue**) {
            //some more code
        }
    }
}
0 голосов
/ 23 апреля 2019

Добавьте параметр в ваш метод другого класса и передайте значение из вашего основного класса .. как показано ниже:

class A{
...
neededValue = keyboard.nextInt();

DifferentClass object = new DifferentClass();
object.methodName(xxxx, yyyy, neededValue):
...
}

class DifferentClass{
public void methodName(double xxxx, int yyyy, int neededValue) {
...
}
}
0 голосов
/ 23 апреля 2019

Вам нужно передать neededValue в качестве аргумента

neededValue = keyboard.nextInt();   
object.methodName(xxxx, yyyy,neededValue):

Тогда в methodName функция

public void methodName(double xxxx, int yyyy, int neededValue) {

    int index;

    for (index = 0; index < array.length; index++) {
        xxxx = array[index].xxxx;
        if (xxxx > **neededValue**) {
            //some more code
        }
    }
}

Надеюсь, это помогло.

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