我试图理解传递的论点,但我遇到了一个问题。
假设我有以下代码:
我将值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;
}
}
与往常一样,如果您需要澄清,请询问!感谢。
答案 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);
}
}