传递参数

时间:2012-10-12 18:10:25

标签: java methods parameters arguments return

我试图理解传递的论点,但我遇到了一个问题。

假设我有以下代码:

我将值60传递给方法someMethod。从那里我希望用用户输入修改该值。一旦它被修改,我希望它将该值传递给另一个名为getValue的方法。然后getValue方法返回该值。

问题在于:

1)如果我要调用someMethod,它还会再次调用我不想要的用户输入。

2)将getValue方法的值打印出来的正确方法是什么:

  

New.getValue(int returnedValue); 调用错误“意外类型,必需值,找到类”

public class New {

    Scanner sc = new Scanner(System.in)

private int static num1 = 60;
someMethod(num1);

    public static int someMethod(int myValue)
    {
        //modify the integer
        System.out.println("Enter in the value to modify");
        myValue = sc.nextInt();
        //output the value to a getter method
        getValue(myValue);
        return myValue;
    }

    public static int getValue(int returnedValue)
    {
        return returnedValue;
    }

}

与往常一样,如果您需要澄清,请询问!感谢。

2 个答案:

答案 0 :(得分:5)

someMethod(num1);应该包含在main方法或其他方法中。

第二:您没有定义sc变量。所以,你的代码也失败了。

第三:你没有定义num1的类型。它应该是private static int num1 - 60;

在调用getValue()方法时,您需要传递实际值而不是定义。

示例:System.out.println(getValue(50));

答案 1 :(得分:0)

试试这个......

我还添加了修改部分....

public class New {

private static int num1;


    public static int someMethod()
    {

        System.out.println("Enter in the value to modify");

        Scanner s = new Scanner(System.in);

        int temp = s.nextInt();

        return getValue(num1+temp); // Modification Done
    }

    public static int getValue(int returnedValue)
    {
        return returnedValue;
    }

    public static void main(String[] args){

        Scanner scan = new Scanner(System.in);

        New.num1 = scan.nextInt();
        int i = someMethod();
        System.out.println(i);



    }

}