Java 过场辩论

Java 过场辩论,java,methods,parameters,arguments,return,Java,Methods,Parameters,Arguments,Return,我试图理解传递的论点,但我遇到了一个问题 假设我有以下代码: 我将值60传递给方法someMethod。从那里,我希望通过用户输入修改该值。修改后,我希望它将该值传递给另一个名为getValue的方法。然后,getValue方法返回该值 问题是: 1) 如果我调用someMethod,它还会再次调用用户输入,这是我不想要的 2) 打印getValue方法值的正确方法是: New.getValue(int returnedValue)调用错误“意外类型、必需值、已找到类” 和往常一样,如果你需要澄

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

假设我有以下代码:

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

问题是:

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

2) 打印getValue方法值的正确方法是:

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

和往常一样,如果你需要澄清,请询问!谢谢。

someMethod(num1)
应该包装在
main
方法或其他方法中

第二:您没有定义
sc
变量。因此,您的代码在那里也失败了

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

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

示例:
System.out.println(getValue(50))
somethod(num1)
应该包装在
main
方法或其他方法中

第二:您没有定义
sc
变量。因此,您的代码在那里也失败了

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

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

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

试试这个

我还添加了修改部分……

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);



    }

}
试试这个

我还添加了修改部分……

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);



    }

}

您可以使用以下语句--
getValue(myValue)--但是它返回一个你没有分配给任何东西的值,所以这个值是“扔在地板上的”。请看这个答案以获得更多的澄清:你使用这个语句--
getValue(myValue)--但它返回一个值,而您没有分配给任何对象,因此该值是“扔在地板上”。请查看此答案以获得更多澄清:当我将someMethod的传递参数包装在someMethod方法中时,仍然会遇到相同的错误。当我从另一个静态方法调用它时,我说System.out.println(getValue(int returnedValue));我得到了期望值,得到了类错误。你应该调用类似System.out.println(getValue(50))的东西。你需要在这里传递真实值,而不是定义。如果我传递真实值,用户输入的内容将如何显示?用户输入的内容将是真实值。现在有意义了。返回的值没有存储位置。当我将someMethod的传递参数包装到someMethod方法中时,仍然会出现相同的错误。当我从另一个静态方法调用它时,我说System.out.println(getValue(int returnedValue));我得到了期望值,得到了类错误。你应该调用类似System.out.println(getValue(50))的东西。你需要在这里传递真实值,而不是定义。如果我传递真实值,用户输入的内容将如何显示?用户输入的内容将是真实值。现在有意义了。返回的值没有存储位置。