2016-08-17 11 views
-7

ユーザーはどのようにJavaでこの問題を解決するには?彼らは本のチケットよりも、チケットの適切なフォーマットを入力する場合

...(BEFも許容できる。大文字小文字を区別しない例)F、E、Bで始まり、その3桁の後にしなければならない他の 無効なチケットをチケットとチケットを入力してくださいエラー。

などです。

Javaのチケット チケットを入力します>> B100 は$ 200.0 チケットを入力し Javaのチケット チケットを入力します>> A609 無効チケット、チケットはBで始まる必要があり、FまたはE Javaのチケット>> 1234567890987 無効をコストチケット、間違った長さ、長さ、コードが

である

包括

4〜10でなければなりませんあなたが達成しようとしている何
+1

質問は何ですか? –

+0

あなたの質問は何ですか? – marstran

+2

正規表現 '[B、F、E、b、f、e] [0-9] {3}' – Blobonat

答えて

1

はなく、このです:

import java.io.IOException; 
import java.util.Scanner; 

public class Ticket { 

    public static void main(String[] ar) throws IOException { 
     Scanner keb = new Scanner(System.in); 
     System.out.println("Enter ticket:"); 
     String ticket = keb.nextLine(); 
     String pattern = "[BbFfEe][0-9]{3}"; 


     if (ticket.matches(pattern)) { 
      System.out.println("Ticket is VALID."); 
     } else { 
      System.out.println("Ticket is INVALID, it must starts with B, b, F, f, E, e characters following by 3 digits."); 
     } 
    } 
} 

続きを読む:

Pattern pattern = Pattern.compile("(?i)[bef]\\d{3}"); 
if (pattern.matcher(ticket).matches()) { 
    System.out.println("valid ticket"); 
} else { 
    System.out.println("Invalid ticket, ticket must start with B, F or E"); 
} 
+0

文字の後に来るはずの3桁の数字をチェックする必要があります。 –

+0

@RexWagenius良いキャッチ私はその部分を逃した –

関連する問題