Java中goto语句的替代方案

Java中goto语句的替代方案,java,goto,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 mai

在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();
    }
}
packagemain;
导入java.util.Scanner;
导入java.util.Calendar;
导入java.text.simpleDataFormat;
公开课开始{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
Calendar.getInstance().getTime();
SimpleDataFormat dateFormat=新的SimpleDataFormat(“HH:mm:ss”);
Calendar cal=Calendar.getInstance();
//创建扫描仪等;
System.out.println(“欢迎来到B.V.D,请在这里键入您的姓名:”;
字符串名称=input.nextLine();
//获得名字;
System.out.println(“对于命令列表”+name+“键入help”);
字符串main=input.nextLine();
//用户输入用户想要做的事情
if(main.equals(“help”)){
System.out.println(“您可以使用类似的命令(请记住按您所看到的方式键入)”;
System.out.println(“名称、时间、秒表、帮助、计算器、存储、15”);
}
//帮助
if(main.equals(“时间”)){
System.out.println(dateFormat.format(cal.getTime())+“GMT”);
}
input.close();
}
}

只需将所有内容放在一个循环中,并使用布尔值退出该循环即可。如果处于循环的末尾,则决定是否再次要求用户键入内容,如果是,则将变量设置为true,否则设置为false:

boolean running = true;

while (running) {
    // Do stuff

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

我不这么认为。我总是使用while循环来实现这一点


为什么要声明主要功能?我不明白日期格式的事。这是我第一次看到。主函数不返回任何内容。

使用while循环而不是if语句。“现在我知道它不好,所有内容和代码都不应该这样编程”-为什么你想继续这样做,而不是探索更好的设计?当循环是自然的方法时,为什么要使用
goto
而不是循环?