2016-04-14 17 views
1

Kullanıcının, MVP Trophy için NBA oyuncusuna ait yarış listesini görüntüleyebileceği ve güncelleyebileceği basit bir programı kodlamaya çalışıyorum. Bununla birlikte, geçmişte kullanıcı karar verdiği sürece bir program kodlamak için başarısız oldum. Programın seçeneklere sahip olmasını istiyorum. 1. Geri Dön & 2. Çık ama nasıl döngü yapacağımı anlayamıyorum. İşte benim Rank.java & AdminAccount.java. Umarım anlamak için kafa karıştırıcı değildir, okuma için teşekkür ederim.Java'da basit bir program nasıl kullanılır?

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

Neden 'eğer (1 <= rank && sıralaması <= 5) {System.out.println (" \ NPlayer Adı : "); playerUpdate = playerInput.nextLine(); playerrank [rank - 1] = playerUpdate;} 'updaterank()' de hemen hemen aynı kodun tekrarı yerine? – MikeCAT

+0

Değiştireceğim size teşekkür ederim. –

+0

"Anlamak kafa karıştırıcı değildir" Anlamak kafa karıştırıcı. Sorununuzu tamamen sergilemek için gerekli olan minimum koda sahip olabilir misiniz? Bu, kendiniz de anlamanıza yardımcı olur, sadece çözmeyi denediğiniz problemi ve NBA oyuncuları ya da başka bir şey hakkında hiçbir şey yapmayan bir program yazmaya çalışın. Daha fazla bilgi için buraya bakın: https://stackoverflow.com/help/mcve – Roman

cevap

1

Sadece döngü bir "çıkış" seçeneğini ekleyin:

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

Ne zaman hem AdminAccount.java & Rank.java'da güncelledikten sonra menüye dönmek istersem ne olur? –

+0

@ L.Costa ne demek "geri git" demek, tekrar System.out.println ("*** NBA MVP Race Administor Account ***") görüntülemesi gerekir; System.out.print ("\ n1.Ranking 2.Update 3.Exit \ t-"); 'güncellemeniz/ekranınızdan sonra ... – brso05

+0

Şimdi anlıyorum, kullanıcı çıkışı seçene kadar döngü yapmaya devam edecektir. Teşekkür ederim. –

İlgili konular