2016-12-09 6 views
-2

基本的に、ユーザーに参照番号を入力させる必要があります。自動的に生成することはできません。参照番号の作成と検証

2つの数字、文字と数字が必要です。

ここに私のコードがありますが、私は人生のために働くことができません、私は参照番号を自動的に生成する方法で働いていましたが、今それを変更する必要があります。私はだけではなく、あなただけのブール値を割り当て、あなたがreferNumberへの実際の入力を割り当てることはありません「... errmmmmああ」などのNetBeansので

static String getReferenceNumber() { 
    Scanner refScanner = new Scanner(System.in); 
    String referNumber = null; 
    System.out.println("Please enter a Reference Number"); 
    System.out.println("It must be 2 Letters and 3 Numbers and a Number"); 
    String input = refScanner.nextLine().toUpperCase(); 
    while (!Policy.refCheck(input)) { 

     System.out.println("Please enter a Reference Number"); 
     System.out.println("It must be 2 Letters and 3 Numbers a Nuber"); 




    if (input.length() !=5) { 
     referNumber = false; 
    } else if ((!Character.isLetter(input.charAt(0))) 
      ||!Character.isLetter(input.charAt(1)) 
      ||!Character.isDigit(input.charAt(2)) 
      ||!Character.isDigit(input.charAt(3)) 
      ||!Character.isDigit(input.charAt(4))){ 

    referNumber = false; 
} 


    System.out.println(""); 
    System.out.println(referNumber); 
    return referNumber; 
} 
+0

「数字」と言うとき、「数字」を意味しますか? '0'、' 1'、... '9'は数字です。 「1」、「42」、「365」は数字です。 *数字*は1つ以上の*数字*で構成されます。 – Andreas

答えて

0

を見つめて座っていますか?

したがって、戻り値が文字列である必要がある場合は、最後にBooleanまたはnullを返します。

static String getReferenceNumber() { 
    Scanner refScanner = new Scanner(System.in); 
    String referNumber = ""; 
    boolean test = false; 
    while (!test) { 

     System.out.println("Please enter a Reference Number"); 
     System.out.println("It must be 2 Letters and 3 Numbers:"); 

     String input = refScanner.nextLine().toUpperCase(); 

     if (input.length() !=5) { 
      test = false; 
      System.out.println("Invalid reference"); 
     } else if ((!Character.isLetter(input.charAt(0))) 
      ||!Character.isLetter(input.charAt(1)) 
      ||!Character.isDigit(input.charAt(2)) 
      ||!Character.isDigit(input.charAt(3)) 
      ||!Character.isDigit(input.charAt(4))){ 

      test = false; 
      System.out.println("Invalid reference"); 
     } else { 
      referNumber = input; 
      test = true; 
     } 
    } 
    System.out.println(referNumber); 
    return referNumber; 
} 

私はwhileループの条件を変更し、if文を変更しました。私はこれが役立つことを願っています

+0

こんにちは、どうすればこの問題を解決できますか?私は今朝ハーフ3で仕事を終えた後、これは早く役に立たない! – FUBAR

+0

@Jamieあなたは実際にreferNumberに入力を割り当てる必要があります。次に、参照が正しい形式でない場合は、参照番号に「false」を割り当て、そうでない場合はreferNumberを返します。 –

+0

@Jamieまた、あなたのwhileループに問題があると思います。 I –

関連する問題