2017-10-27 12 views
-2

私はJavaを使い慣れていません。ユーザーがはいを入力するとループするwhileループを作成しようとしています。また、代わりにStopを入力すると、ユーザーに「endinput」の入力を促すことができます。何か案は?ちょうどJavaプログラミングを開始しましたが、私はこれを続ける方法を理解することができませんので、私は困っています。New to Java、whileループを使用してユーザー入力を終了することができません

public static void main(String[] args) { 
    Scanner scan = new Scanner(System.in); 
    String[] 
     title=new String[100], 
     author=new String[100], 
     publisher=new String[100], 
     ISBN=new String[100], 
     endinput=new String[100]; 
     boolean Stop = false; 
     boolean Yes = true; 
     double[] price=new double[100]; 

     System.out.println("Welcome To Kieran's Bookstore"); 

     System.out.println("Input The Title:"); 
     title[0] = scan.next(); 
     System.out.println("Input The Author:"); 
     author[0] = scan.next(); 
     System.out.println("Input The Price Of The Book:"); 
     scan.next(); 
     System.out.println("Input The Publisher:"); 
     publisher[0]= scan.next(); 
     System.out.println("Input The ISBN:"); 
     ISBN[0]=scan.next(); 
     System.out.println("Would you like to continue?(Yes/Stop)"); 
     scan.next(); 

     while(!Stop) 
      { 
      System.out.println("Input The Title:"); 
      title[0] = scan.next(); 
      System.out.println("Input The Author:"); 
      author[0] = scan.next(); 
      System.out.println("Input The Price Of The Book:"); 
      scan.next(); 
      System.out.println("Input The Publisher:"); 
      publisher[0]= scan.next(); 
      System.out.println("Input The ISBN:"); 
      ISBN[0]=scan.next(); 
      System.out.println("Would you like to continue?(Yes/Stop)"); 
      scan.equals(Stop); 
     } 
     while (!Stop) {System.out.println("Please Type 'endinput':"); 
      scan.next(); 
     } 
     System.out.println("Please Type 'endinput':"); 
     scan.next(); 
     if (scan.equals("endinput"))System.exit(0); 
     scan.close(); 
+2

「scan.equals(停止)」とは何ですか? – Berger

+0

プログラムを停止したいと思うようにユーザーに 'endinput'を入力するように促すはずです。何が起こるのではないですか? –

答えて

1

あなたはそれだけで を達成するために1 whileを使用する必要があります。 scan.next()に変数を割り当て、ifを使用してチェックします。

public static void main(String[] args) { 
    Scanner scan = new Scanner(System.in); 
    String[] title = new String[100], author = new String[100], publisher = new String[100], ISBN = new String[100], 
      endinput = new String[100]; 
    // boolean Stop = false; 
    boolean Yes = true; 
    double[] price = new double[100]; 

    while (Yes) { 
     System.out.println("Welcome To Kieran's Bookstore"); 
     System.out.println("Input The Title:"); 
     title[0] = scan.next(); 
     System.out.println("Input The Author:"); 
     author[0] = scan.next(); 
     System.out.println("Input The Price Of The Book:"); 
     scan.next(); 
     System.out.println("Input The Publisher:"); 
     publisher[0] = scan.next(); 
     System.out.println("Input The ISBN:"); 
     ISBN[0] = scan.next(); 
     System.out.println("Would you like to continue?(Yes/Stop)"); 
     String ans = scan.next(); 
     if (ans.equals("endinput") || (ans.equals("Stop"))) { 
      Yes = false; 
      System.exit(0); 
     } 
    } 
} 
+1

ありがとうジョンあなたは何をしたのかわかりませんが、私はそれを感謝します –

+1

Btw私は[Java命名規則](http://www.oracle.com/technetwork/java/codeconventions-135099.html)に従うことをお勧めします。 : 'firstWordLowerCaseVariable'、' firstWordLowerCaseMethod(...) '、' FirstWordUpperCaseClass'および 'ALL_WORDS_UPPER_CASE_CONSTANT' – Frakcool

+0

@KieranFlemingあなたには何が分かりませんか?その間に、これが助けられるならば、これを答えとすることを検討してください。 –

関連する問題