2016-11-29 9 views
2
package validation; 
import java.util.*; 

public class Validation { 
    public static void main(String[] args) { 
     Scanner input = new Scanner(System.in); 
     String regex = "^[a-zA-Z ]+$"; 
     String regex1 = "\\d[0-9]|[1-9]"; 
     String regex2 = "^[a-zA-Z0-9 ]+$"; 
     String Char; 
     String num; 
     String chars; 
     System.out.println("WELCOME TO Mixed Martial Art's CLUB REGISTRATION"); 
     do{ 
      System.out.print("\nWhat Is Your Name:"); 
      Char = input.nextLine(); 

      if (Char.matches(regex)) 
       System.out.println("\nWelcome:"+" "+Char); 
      else if (Char.isEmpty()) 
       System.out.println("String field should not be Empty."); 
      else if(!Char.matches(regex)) 
       System.out.println("Please Enter A Valid String!"); 
     } while(!Char.matches(regex)); 

     do {  
      System.out.print("\nHow Old Are you:"); 
      num = input.nextLine(); 
      if (num.isEmpty()) 
       System.out.println("Number field should not be Empty.");  
      else if (!num.matches(regex1)){ 
       System.out.println("Please Enter A Valid Number!"); 
      } else{ 
       if(Integer.parseInt(num)<=18){ 
        System.out.println("Sorry But You Are Underage.");     

       } else { 
        if (Integer.parseInt(num)<=39) { 
         System.out.println("You Are Qualified"); 
        } else { 
         System.out.println("Opps! You Are OVER AGE!"); 
        } 
       }      
      } 
     }while(!num.matches(regex1));   
    } 
} 

上記のコードは私が期待したとおりに動作していますが、最終的な出力を変更する必要があります。出力をすべて印刷する私はすべての詳細を入力した後すぐに。一度に出力を一度に一度に印刷する方法 - JAVA

+0

の代わりに、すぐにすべてを印刷し、配列か何かでそれらを保存し、あなたがあなたのメッセージをconcateし、最後にそれらを印刷したいので – khuderm

+2

を印刷します。文字列(完全ではない)を連結するか、 'StringBuilder'を使用することができます – AxelH

+0

正確には、最後の最後にすべての入力結果を出力します。あなたはそれを達成する最も効率的な方法を私に見せてもらえますか?私は本当にそれを感謝します。 –

答えて

1

あなたはあなたのコードに応じて1つの文字列として出力を取得するには、次のコードを使用することができます。ここではStringBuilderを使用して関連する出力を追加しています。最後に私はそれの内容を印刷しています。

その後、
import java.util.Scanner; 

public class Validation { 
public static void main(String[] args) { 
    Scanner input = new Scanner(System.in); 
    String regex = "^[a-zA-Z ]+$"; 
    String regex1 = "\\d[0-9]|[1-9]"; 
    String regex2 = "^[a-zA-Z0-9 ]+$"; 
    String Char; 
    String num; 
    String chars; 
    System.out.println("WELCOME TO Mixed Martial Art's CLUB REGISTRATION"); 

    StringBuilder output = new StringBuilder(); 

    do { 

     System.out.print("\nWhat Is Your Name:"); 
     Char = input.nextLine(); 

     if (Char.matches(regex)) 
      // System.out.println("\nWelcome:"+" "+Char); 
      output.append("\nWelcome:" + " " + Char); 
     else if (Char.isEmpty()) 
      System.out.println("String field should not be Empty."); 
     else if (!Char.matches(regex)) 
      System.out.println("Please Enter A Valid String!"); 
    } while (!Char.matches(regex)); 

    do { 

     System.out.print("\nHow Old Are you:"); 
     num = input.nextLine(); 
     if (num.isEmpty()) 
      System.out.println("Number field should not be Empty."); 
     else if (!num.matches(regex1)) { 
      System.out.println("Please Enter A Valid Number!"); 
     } else { 
      if (Integer.parseInt(num) <= 18) { 
       // System.out.println("Sorry But You Are Underage."); 
       output.append("\nSorry But You Are Underage."); 

      } else { 
       if (Integer.parseInt(num) <= 39) { 
        // System.out.println("You Are Qualified"); 
        output.append("\nYou Are Qualified"); 
       } else { 
        // System.out.println("Opps! You Are OVER AGE!"); 
        output.append("\nOpps! You Are OVER AGE!"); 
       } 
      } 
     } 

    } while (!num.matches(regex1)); 

    System.out.println(output); 

} 
} 
+0

これは正しいものです。あなたは素晴らしいですし、あなたの努力とプログラミングのスキルに本当に感謝しています。どうもありがとうございました –

3

使用StringBuilderあなたの出力を構築するために:

StringBuilder sb = new StringBuilder(); 
sb.append("Thank you for registering.\n"); 
sb.append("Please verify your data:\n"); 
//... 

System.out.println(sb.toString()); 
+0

こんにちは、このトピックについてのあなたの考えを共有してくれてありがとう。どうすればこのコードを追加できますか?私はそれが愚かな質問だが、私を理解しようとしてください私はちょうど初心者です知っている。 –

+0

@HaiderAbdullah申し訳ありませんが、「どうすればこのコードを追加できますか?」*あなたは新しい 'StringBuilder'インスタンスを作成し、印刷したいものを' append'し、終了したら内容全体を印刷します'sb.toString()'によって提供されます。 –

0
import java.util.*; 

public class Validation { 

    public static void main(String[] args) { 
     Scanner input = new Scanner(System.in); 
     String regex = "^[a-zA-Z ]+$"; 
     String regex1 = "\\d[0-9]|[1-9]"; 
     String nameChar; 
     String num; 
     String chars; 
     String name = ""; 
     int age = 0; 
     System.out.println("WELCOME TO Mixed Martial Art's CLUB REGISTRATION"); 

     do { 
      System.out.print("\nWhat Is Your Name:"); 
      nameChar = input.nextLine(); 
      if (nameChar.isEmpty()) 
       System.out.println("String field should not be Empty."); 
      else if (!nameChar.matches(regex)) 
       System.out.println("Please Enter A Valid String!"); 
      else if (nameChar.matches(regex)) 
       name = nameChar; 
     } while (!nameChar.matches(regex)); 

     do { 
      System.out.print("\nHow Old Are you:"); 
      num = input.nextLine(); 
      if (num.isEmpty()) 
       System.out.println("Number field should not be Empty."); 
      else if (!num.matches(regex1)) { 
       System.out.println("Please Enter A Valid Number!"); 
      } else { 
       try { 
        int ageInput = Integer.parseInt(num); 
        if (ageInput <= 18) { 
         System.out.println("Sorry But You Are Underage."); 
        } else { 
         if (ageInput <= 39) { 
          age = ageInput; 
          break; 
         } else { 
          System.out.println("Opps! You Are OVER AGE!"); 
         } 
        } 
       } catch (Exception e) { 
       } 
      } 

     } while (!num.matches(regex1)); 
     if(!name.isEmpty() && age>0){ 
      System.out.println("Thank you for registering"); 
      System.out.println("Name is "+name); 
      System.out.println("Age is"+age); 
      System.out.println("You Are Qualified"); 
     } 

    } 
} 
+0

これは非常に便利ですが、問題は年齢に関する条件文の結果を表示しないことです。年齢、年齢、資格を問わず出力を出すことはありません。 –

+0

もう一度チェックしてください。以前は間違ったsysoutを持っていました – Musaddique

関連する問題