简体   繁体   中英

How to Loop a simple program in Java?

I am trying to code a simple program in which the user can view and update a list of NBA player's racing for the MVP Trophy. However I have failed in the past to code a program in which can loop for however long the user decides to. I want the program to have the options 1. Go Back & 2. Exit but I cannot figure out how to loop it. Here is my Rank.java & AdminAccount.java. Hope it is not confusing to understand, thank you for reading.

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();
            }
        }
    }
}

Just add an "exit" option to your loop:

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;
    }
}

This a sample code using arrays This Program Uses Do.... While Loop to Loop over a whole program when there is a user prompt.

    package doWhileLoop;

import java.util.Scanner;

public class doWhileLoop {
    public static void main(String[] args) {
        //this is a program to prompt a user to continue or pass using the do while loop
        String programCounter;
        do {
            int sum=0;
            int list[] = new int[3];
            Scanner in = new Scanner(System.in);
            System.out.println("Enter  3 numbers to be added: ");
            for (int i = 0; i < 3; i++) {
                list[i] = in.nextInt();
                sum+= list[i];
            }
            System.out.println("sum = "+ sum);

            System.out.println("Enter Yes to continue or No to exit........");
            programCounter = in.next();

        }
        while (programCounter.equals("yes"));

    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM