首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >数据不正确时的Java showInputDialog

数据不正确时的Java showInputDialog
EN

Stack Overflow用户
提问于 2018-08-12 06:59:03
回答 1查看 21关注 0票数 0
代码语言:javascript
复制
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;
        }
    }
}

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-12 07:09:42

尝试使用do-while

代码语言:javascript
复制
int portnumber = 0;
do {
     String text= JOptionPane.showInputDialog(null,"Port(0-65535):","Port",JOptionPane.QUESTION_MESSAGE);
     portnumber = tryParse(text);
}while(portnumber==0);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51804408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档