0

现在可以正常工作,代码已完成感谢您的帮助。

4

2 回答 2

0

您可以通过以下方式限制用户输入另一个值:(此程序适用于您从用户那里获取值)。这将要求输入数字,直到您输入 0 到 9 之间的数字。

您可以根据此制作代码。(仅供参考,如何限制用户输入错误)

Scanner scan=new Scanner(System.in);
int i=-1;
i=scan.nextInt();
while(i<=0 && i>=9){
    i=scan.nextInt();
}

编辑

根据您的评论,在这种情况下,您需要将其更改为:

String s="";
while(!s.matches("^[0-9A-F]+$")){
    s=scan.nextLine();
}
于 2012-12-12T15:34:32.253 回答
0

我会创建一个类来保存 RGB 值并让它检查输入的值是否正确。请参阅下面的测试代码......您可以根据需要处理更多案例。

import java.util.*;

public class jtest
{
  public static void main(String args[])
  {
    new jtest();
  }

  public jtest()
  {
    ArrayList<RGB> RGBarray = new ArrayList<RGB>();

    try
    {
    RGBarray.add(new RGB("F"));
    RGBarray.add(new RGB("J"));
    }
    catch(BadRGBValueException BRGBVE)
    {
      BRGBVE.printStackTrace();
    }
  }

  class BadRGBValueException extends Exception
  {
    public BadRGBValueException(String message)
    {
      super(message);
    }
  }

  class RGB
  {
    public RGB(String input) throws BadRGBValueException
    {
      if (!input.matches("^[0-9A-F]+$"))
      {
        throw new BadRGBValueException(input + " is not a valid RGB value");
      }

      value = input;
    }

    private String value = null;
  }
}
于 2012-12-12T15:36:07.453 回答