如何将变量从主方法类传递到另一个类?

时间:2019-04-23 06:14:12

标签: java class variables

好的...在我的主类中,我要求用户输入一个输入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 :(得分:0)

您需要传递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
        }
    }
}

希望有帮助。

答案 1 :(得分:0)

从主要位置:

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
        }
    }
}

答案 2 :(得分:0)

向另一个类方法添加参数,并从您的主类传递值。如下:

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) {
...
}
}

答案 3 :(得分:0)

  1. 您可以将nextValue变量直接传递给方法,例如:

object.methodName(xxxx, yyyy, nextValue)

  1. 或者您可以在对象的类A中声明一个int变量:

    int someValue;

并通过构造函数或setter进行设置

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

然后,您的调用object.methodName(xxxx, yyyy)将与对象中的'someValue'字段一起使用

答案 4 :(得分:0)

多种方法,下面列出了几种方法,

i)在您的方法中创建参数(在其他解决方案中说明)。

ii)使用类中的get / set方法在类中创建一个变量(在其他解决方案中有说明)。

iii)在您的课程中创建一个静态变量(如下所述)

您可以在类中拥有一个静态变量,

private static int neededValue;

在主菜单中,您可以为其分配值。

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
    }
 }
}

免责声明:在使用静态关键字之前,请先了解更多信息。