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 に答える