Java方法未在另一个文件

时间:2017-03-10 17:16:36

标签: java class methods

以下是包含方法的文件:

package getmethodical;

import java.util.Scanner;

public class GetMethodical {

    public static void main(String[] args) {

    }

    // Validate INT input and checks if it's in range
    public static int getRangedInt(Scanner pipe, String prompt, int low, int high){
        System.out.println("Inside getRangedInt");
        System.out.println(prompt);
        String trash = "";
        int value = -5;
        boolean flag = false;

        while(!flag){
            if(pipe.hasNextInt()){
                value = pipe.nextInt();
                pipe.nextInt();
                if(value >= low && value <= high){
                    flag = true;
                }else{
                    System.out.println("Please enter a number from 0 to 100");
                }
            }else{
                trash = pipe.nextLine();
                System.out.println(trash + " is not a valid input, please enter a number");
                pipe.nextLine();
            }
        }
        return value;
    }
}

在另一个java文件中,我尝试调用该方法:

package getmethodical;

import java.util.Scanner;

public class BirthDateTime {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner pipe = new Scanner(System.in);
        // Year
        String prompt = "Enter input: ";
        int high = 10;
        int low = 0;
        GetMethodical.getRangedInt(pipe, prompt, low, high);
    }

}

我想调用getRangedInt,它是另一个java主文件中一个java主文件中的一个类。当我运行第二个块时,它运行成功,但它没有调用该方法。

当我在文件的主类中调用方法时,它已经建立,然后在另一个文件中调用它可以工作..这对于写文本真的很困惑所以请让我知道是否有&#39 ; s你需要的任何其他东西

1 个答案:

答案 0 :(得分:0)

你的主要方法是 Scanner pipe = new Scanner(System.in); 这将期望来自控制台的输入。注释掉这一行并硬编码下面方法的管道值,看看你得到什么作为输出。 GetMethodical.getRangedInt(<some value>, prompt, low, high);