数据不正确时的Java showInputDialog

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;

        }

    }

}

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


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


慕慕森
浏览 157回答 1
1回答

茅侃侃

尝试使用do-while,int portnumber = 0;do {     String text= JOptionPane.showInputDialog(null,"Port(0-65535):","Port",JOptionPane.QUESTION_MESSAGE);     portnumber = tryParse(text);}while(portnumber==0);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java