我的教授有输入这个东西,主要不能超过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进行验证但是我不确定如何实现一个方法来验证来自主类的输入,或者我必须移动它输出的方式主要的?
答案 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:");