gpt4 book ai didi

Java 忽略 boolean 评估

转载 作者:行者123 更新时间:2023-12-01 07:09:17 25 4
gpt4 key购买 nike

if (!(portField.getText().equals(""))) {                
String p = portField.getText();
CharSequence numbers = "0123456789";

if (p.contains(numbers)) {

listener = new ServerSocket(Integer.parseInt(p));

while (true) {
Socket socket = listener.accept();
try {
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println("Hi there, human.");
} finally {
socket.close();
}
}} else {
JOptionPane.showMessageDialog(null, "Only numbers are allowed.");
}
} else {
JOptionPane.showMessageDialog(null, "Please input a port.");
}

问题是:即使我将数字放入 JOptionPane 中, portField 也会弹出“仅允许使用数字”。据我所知,CharSequence 和我测试它只允许输入数字的方式是正确的,Java 会忽略整个 block 并跳转到 else 子句。

为什么会发生这种情况?我应该不使用 else 而使用 else if 吗?

最佳答案

包含表示包含整个0123456789。例如:“a0123456789b”

使用 p.matches("[0-9]*"); 代替。

关于Java 忽略 boolean 评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17386051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com