2016-04-14 4 views
1

私は、ユーザーがMVPトロフィーのNBAプレーヤーのレースの一覧を表示して更新できる簡単なプログラムをコーディングしようとしています。しかし、私は過去に、ユーザーが決めた長い間ループするプログラムをコーディングすることに失敗しました。プログラムにオプションが必要です1. Go Back & 2.終了しますが、ループする方法がわかりません。ここに私のRank.java & AdminAccount.javaがあります。紛らわしいことではないことを願って、読んでいただきありがとうございます。Javaで単純なプログラムをループする方法は?

import java.util.Scanner; 

public class Rank { 
    String player[] = { "Stephen Curry", "Russel Westbrook", "Kevind Durant", "LeBron James", "Kawhi Leonard" }; 
    Scanner rankInput = new Scanner(System.in); 
    Scanner playerInput = new Scanner(System.in); 
    int rank; 
    String playerUpdate; 

    public void Rank() { 
     System.out.println("Rank\tPlayer"); 
     for (int counter = 0; counter < player.length; counter++) { 
      System.out.println(counter + 1 + "\t" + player[counter]); 
     } 
    } 

    public void updateRank() { 
     System.out.print("Select rank to update: "); 
     rank = rankInput.nextInt(); 

     if (rank == 1) { 
      System.out.print("\nPlayer Name: "); 
      playerUpdate = playerInput.nextLine(); 
      player[0] = playerUpdate; 
     } else if (rank == 2) { 
      System.out.print("\nPlayer Name: "); 
      playerUpdate = playerInput.nextLine(); 
      player[1] = playerUpdate; 
     } else if (rank == 3) { 
      System.out.print("\nPlayer Name: "); 
      playerUpdate = playerInput.nextLine(); 
      player[2] = playerUpdate; 
     } else if (rank == 4) { 
      System.out.print("\nPlayer Name: "); 
      playerUpdate = playerInput.nextLine(); 
      player[3] = playerUpdate; 
     } else if (rank == 5) { 
      System.out.print("\nPlayer Name: "); 
      playerUpdate = playerInput.nextLine(); 
      player[4] = playerUpdate; 
     } 
    } 
} 

import java.util.Scanner; 

public class AdminAccount { 

    public static void main(String[] args) { 
     Rank rank = new Rank(); 

     Scanner adminInput = new Scanner(System.in); 
     Scanner exitInput = new Scanner(System.in); 

     boolean keepRunning = true; 
     // menu variables 
     int menuOption; 
     int exitOption; 

     while (keepRunning) { 
      System.out.println("*** NBA MVP Race Administor Account ***"); 
      System.out.print("\n1.Ranking 2.Update\t- "); 
      menuOption = adminInput.nextInt(); 
      System.out.println(""); 

      if (menuOption == 1) { 
       rank.Rank(); 
      } else if (menuOption == 2) { 
       rank.updateRank(); 
      } 
     } 
    } 
} 
+2

なぜ '場合(1 <=ランク&&ランク<= 5){System.out.print(" \ nPlayer名を: "); playerUpdate = playerInput.nextLine(); {updaterank()}の中でほとんど同じコードを繰り返すのではなく、player [rank-1] = playerUpdate;} ' – MikeCAT

+0

ありがとうございます。 –

+0

「理解するのが混乱しないことを願っています」理解するのは混乱します。問題を完全に表示するために必要な最小限のコードまで煮詰めてください。あなた自身もそれを理解するのに役立ちます。あなたが解決しようとしている問題だけを持っているプログラムを書くようにしてください.NBAの選手や何かについては何も書かないでください。詳細はこちらをご覧ください:https://stackoverflow.com/help/mcve – Roman

答えて

1

ちょうどあなたのループに "終了" オプションを追加します。

while(keepRunning){ 
    System.out.println("*** NBA MVP Race Administor Account ***"); 
    System.out.print("\n1.Ranking 2.Update 3.Exit\t- "); 
    menuOption = adminInput.nextInt(); 
    System.out.println(""); 

    if(menuOption == 1) 
    { 
     rank.Rank(); 
    } 
    else if(menuOption == 2) 
    { 
     rank.updateRank(); 
    } 
    else 
    { 
     keepRunning = false; 
    } 
} 
+0

AdminAccount.javaとRank.javaの両方を更新した後にメニューに戻る場合はどうすればよいですか? –

+0

@ L.Costa「戻る」とはどういう意味ですか?System.out.println(「*** NBA MVP Race Administor Account ***」); System.out.print( "\ n1.Ranking 2.Update 3.Exit \ t-"); '更新/表示後... – brso05

+0

これで、ユーザーが終了を選択するまでループが繰り返されます。ありがとうございました。 –

関連する問題