调用方法

时间:2013-11-07 20:04:32

标签: java methods

这可能是一个非常愚蠢的问题,但我在调用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 

3 个答案:

答案 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必须在传递之前声明。