这可能是一个非常愚蠢的问题,但我在调用java中的方法时遇到了问题。对于我的计算机科学课,我被指示用多种方法编写一个程序。在一种方法中,我将提示用户输入一个整数,返回该整数并将其存储在变量中。下一个方法是从前一个方法传递整数,如果整数是奇数则返回true,否则返回false。
我的问题是这个,当我尝试从main方法调用第二个方法时,我收到一条错误消息“无法找到符号。符号编号”我确定它与变量的范围有关只存在于getInput方法中,但我不知道如果它不能从第一个方法识别我的变量,如何让程序从我的第二个方法中打印出值。
这是我到目前为止所提出的。 (您可以忽略名为printBanner的方法,一个可以工作,我只是遇到了接下来的两个问题,getInput和isOdd)
import java.util.Scanner;
public class MethodlabPractice {
public static void main(String[] args) {
printBanner();
getInput();
isOdd(number);
} // end main
public static void printBanner () {
for (int count = 0; count != 10; count++)
System.out.println("Beth Tanner");
} // end printBanner
public static int getInput() {
Scanner input = new Scanner(System.in);
System.out.println("Please enter an integer:");
int number = input.nextInt();
System.out.println(number);
return number;
} // end getInput
public static boolean isOdd(int number) {
boolean odd = number % 2 != 0;
return odd;
} // end isOdd
}// end class
答案 0 :(得分:7)
您尚未在number
方法的范围内定义变量main
。
int number = getInput();
isOdd(number);
答案 1 :(得分:4)
getInput返回int,保存它然后传递它
int number = getInput();
isOdd(number);
而你正在尝试做的是
getInput();
isOdd(number); // passing number, but number is not defined
或者你可以这样做:
isOdd(getInput());
答案 2 :(得分:1)
您正在number
方法中将参数isOdd()
传递给main
方法。但是number
必须在传递之前声明。