Java 数据不正确时显示输入对话框

Java showInputDialog when data not correct

import javax.swing.*;
import java.io.Serializable;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

public class Server implements Serializable{
    public static void main(String[] args) {
        String test1= JOptionPane.showInputDialog(null,"Port(0-65535):","Port",JOptionPane.QUESTION_MESSAGE);
        int portnumber = tryParse(test1);

        if (portnumber !=0) {
            try {
                Registry reg = LocateRegistry.createRegistry(portnumber);   //Creates and exports a Registry instance on the local host that accepts requests

                RmiImplementation imp = new RmiImplementation("C://ServerStorage");
                reg.bind("remoteObject", imp);
                System.out.println("Server is ready.");
                System.out.println(portnumber);
            } catch (Exception e) {
                System.out.println("Server failed: " + e);
            }
        }
    }

    private static Integer tryParse(String text) {
        try {
            return Integer.parseInt(text);
        } catch (Exception e) {
            return 0;
        }
    }
}

以上代码帮助我设置文件服务器。 当应用程序为 运行 时,请求对话端口号。

如果我键入字母而不是数字,程序将停止 运行ning,但我希望它继续并再次显示对话框。

试试 do-while,

int portnumber = 0;
do {
     String text= JOptionPane.showInputDialog(null,"Port(0-65535):","Port",JOptionPane.QUESTION_MESSAGE);
     portnumber = tryParse(text);
}while(portnumber==0);