如何制作输入验证方法

时间:2016-03-10 05:43:48

标签: java validation loops

我的教授有输入这个东西,主要不能超过30行,但他希望我们验证输入。我正在制作一个矩形的子类,所以我在main中有这个来获取矩形的参数。

   Scanner input = new Scanner(System.in);

   System.out.println("Enter the X coordinate (Upper Left bound):");
   int x = input.nextInt();

   System.out.println("Enter the Y coordinate (Upper Left bound):");
   int y = input.nextInt();

   System.out.println("Enter the width of the rectangle: ");
   int width = input.nextInt();

   System.out.println("Enter the height of the rectangle: ");
   int height = input.nextInt();

   BetterRectangle rectangle = new BetterRectangle(x, y, width, height);

他希望我们在另一个类中创建一个方法来使用hasNextInt进行验证但是我不确定如何实现一个方法来验证来自主类的输入,或者我必须移动它输出的方式主要的?

1 个答案:

答案 0 :(得分:2)

为什么你没有一个方法Scanner input作为参数

public int getNext (Scanner input, String prompt) {

    System.out.println (prompt);

    if (input.hasNextInt ()) {
       return input.nextInt ();
    }

    // return some magic number or maybe throw exception
    return Integer.MIN_VALUE;
}

更新了以获得@laune优秀想法

这可以用作

int x = getNext (input, "Enter the X coordinate (Upper Left bound):");
int y = getNext (input, "Enter the Y coordinate (Upper Left bound):");
int w = getNext (input, "Enter the width of the rectangle: ");
int h = getNext (input, "Enter the height of the rectangle:");