Java中goto语句的替代品

时间:2013-12-31 15:45:58

标签: java goto

在Java中,是否有使用goto语句而不创建循环和中断的替代方法?

在用户说help之后(例如),我希望他们能够再次输入内容。这可能吗?

这是我的代码:

package Main;

import java.util.Scanner;
import java.util.Calendar;
import java.text.SimpleDateFormat;

public class Start {
    public static <DateFormat> void main( String[] args ) {
        Scanner input = new Scanner( System.in );
        Calendar.getInstance().getTime();
        SimpleDateFormat dateFormat = new SimpleDateFormat( "HH:mm:ss" );
        Calendar cal = Calendar.getInstance();

        // creating scanner etc;
        System.out.println( "Welcome To B.V.D Please Type Your Name Here: " );
        String name = input.nextLine();
        // getting name;

        System.out.println( "For A List Of Commands " + name + " Type help" );

        String main = input.nextLine();
        //User input on what the user wants to do


        if ( main.equals( "help" ) ) {
            System.out.println( "You Can Use Commands Like These (Remember Type It Exactly As You See it) " );
            System.out.println( "name, time, stopwatch, help, calculator, store, 15's" );
        }
        // help

        if ( main.equals( "time" ) ) {
            System.out.println( dateFormat.format( cal.getTime() ) + " GMT" );
        }
        input.close();
    }
}

2 个答案:

答案 0 :(得分:1)

将所有内容放入循环中并使用布尔值退出该循环。如果您在循环结束时,您决定是否要再次要求用户输入内容,如果是,则将变量设置为true,否则设置为false:

boolean running = true;

while (running) {
    // Do stuff

    if (/* I don't want to continue doing stuff */) {
        running = false;
    }
}

答案 1 :(得分:0)

我不这么认为。我总是用while循环来做这件事。

为什么主要功能的声明?我不明白 DateFormat 的事情。这是我第一次看到这一点。主要功能不返回任何内容。