Java 退出程序时,如何使用数组打印值?

Java 退出程序时,如何使用数组打印值?,java,Java,这是我第一次使用Java。我还有一个问题,这是否是使程序以这种方式运行的正确方法,我正在使用的showMenu()方法是否会导致程序无休止地运行?非常感谢你。因为我的大部分内容都是用方法做循环的 使数组成为实例变量,在任何方法之外声明。换言之,要做到: import java.util.*; import java.text.*; public class DvdRental1 { static Scanner input = new Scanner(System.in).useDel

这是我第一次使用
Java
。我还有一个问题,这是否是使程序以这种方式运行的正确方法,我正在使用的
showMenu()
方法是否会导致程序无休止地运行?非常感谢你。因为我的大部分内容都是用方法做循环的

使数组成为实例变量,在任何方法之外声明。换言之,要做到:

import java.util.*;
import java.text.*;

public class DvdRental1 {
    static Scanner input = new Scanner(System.in).useDelimiter("\r\n");
    static  DecimalFormat fmt=new DecimalFormat("0.00");

    public static void main(String[] args) 
    {   


        String [] movies = new String[10];

        movies[0] = "DRAG ME TO HELL";
        movies[1]  = "PARANORMAL ACTIVITY";
        movies[2] =  "SHUTTER";
        movies[3] = "P.S I LOVE YOU";
        movies[4]  = "500 DAYS OF SUMMER";
        movies[5] = "THE NOTE BOOK";
        movies[6] = "2012";
        movies[7] = "THE DAY AFTER TOMORROW";
        movies[8] = "GAMER";


        showmainmenu();
    } // END OF MAIN

    private static void showmainmenu()
    {
        int perday;
        int  mainmenu;
        System.out.println("Welcome to TP DVD Rental Service");
        System.out.println("");
        System.out.println("---DVD RENTAL SYSTEM---");
        System.out.println("-----------------------");
        System.out.println("(1) Rent a DVD");
        System.out.println("(2) Exit");
        System.out.print("Please select your choice(1-2):");
        mainmenu= input.nextInt();



        if(mainmenu ==1 )
        {
            showmenu();             
        }
        else if (mainmenu == 2)
        {
            goExit();
            System.out.println("You have exited");          
        } 
        else 
              System.out.println("Please key in 1,2");
     }
}
您可以在任何方法之外将其初始化为实例变量,如下所示:

static Scanner input = new Scanner(System.in).useDelimiter("\r\n");
static  DecimalFormat fmt=new DecimalFormat("0.00");
String[] movies = new String[10];
或者,您也可以像现在一样将元素添加到
main menu()中的数组中

然后,您可以在
showmainmenu()
goExit()
中访问它,并在执行
System.exit()
或在
goExit()结束时执行的任何操作之前打印每个条目。后一种操作(打印
电影
阵列)非常简单,如下所示:

String movies[] = new String[] { "DRAG ME TO HELL", "PARANORMAL ACTIVITY",
        "SHUTTER", "P.S I LOVE YOU", ... };

for(int i=0;i将电影作为参数传递到showmainmenu()中,然后依次将其传递到goExit()或使其成为全局变量,在这种情况下,您可以在任何地方打印它。

您有两个选项,可以执行以下操作:

for(int i=0;i<movies.length;i++) {
    System.out.println(movies[i]);
}
一个全局变量,因此您可以从类中的任何位置引用它:

String [] movies = new String[10];
第二个选项是将数组传递给
showmainmenu()
方法

static Scanner input = new Scanner(System.in).useDelimiter("\r\n");
static  DecimalFormat fmt=new DecimalFormat("0.00");
String [] movies = new String[10];//add here
最后,为了打印该值,必须循环遍历数组并打印每个值:

    showmainmenu(movies);
} // END OF MAIN

private static void showmainmenu(String [] movies)
{
    //rest of code

如果我理解正确,您可以将每个电影集分别定义为全局变量,如:

private static void showmainmenu()
{
    int perday;
    int  mainmenu;
    System.out.println("Welcome to TP DVD Rental Service");
    System.out.println("");
    System.out.println("---DVD RENTAL SYSTEM---");
    System.out.println("-----------------------");
    do{
        System.out.println("(1) Rent a DVD");
        System.out.println("(2) Exit");
        System.out.print("Please select your choice(1-2):");
        mainmenu= input.nextInt();
        //code
        else if (mainmenu == 2)
        {
            goExit();
            System.out.println("You have exited");       
            break;//exits do-while   
        } 
        //code
    }while(true)
并定义如下所示的方法来显示子菜单:

    static String[] thrillerMovies = new String[] {"2012","THE DAY AFTER TOMORROW","GAMER"};
    static String[] loveMovies = new String[] {"P.S I LOVE YOU","500 DAYS OF SUMMER","THE NOTEBOOK"};
    static String[] horrerMovies = new String[] {"DRAG ME TO HELL","PARANORMAL ACTIVITY","SHUTTER"};
-

-

同样,如果你愿意,你也可以在选择子菜单时做同样的事情。@Mohammad S.和@Martin Dinov已经提到了一些要点

    static String[] thrillerMovies = new String[] {"2012","THE DAY AFTER TOMORROW","GAMER"};
    static String[] loveMovies = new String[] {"P.S I LOVE YOU","500 DAYS OF SUMMER","THE NOTEBOOK"};
    static String[] horrerMovies = new String[] {"DRAG ME TO HELL","PARANORMAL ACTIVITY","SHUTTER"};
private static void showSubmenu(String SubMenu,String[] movies) {
        System.out.println("");
        System.out.println( SubMenu + "MOVIE SELECTIONS");
        System.out.println("------------------------");
        for(int i=0;i<movies.length;i++) {
            System.out.println("<" +(i+1)+"> " + movies[i]);
        }
        System.out.println("<4> Back to Main Menu");
        System.out.println("------------------------");

        System.out.print("Please select desired movie <1-3>:");

    }
if (menu == 1) {
   showSubmenu("HORROR", horrerMovies);
else if (menu == 2) {
   showSubmenu("LOVE", loveMovies);
else if (menu == 3) {
    showSubmenu("THRILLER", thrillerMovies);