Java 接收';其他';没有';如果';错误
不是100%确定我为什么会出错。我看到有人说要从“if”语句中删除分号,但当我运行程序并键入命令时,什么也不会执行。如果任何内容的格式不正确,很抱歉Java 接收';其他';没有';如果';错误,java,Java,不是100%确定我为什么会出错。我看到有人说要从“if”语句中删除分号,但当我运行程序并键入命令时,什么也不会执行。如果任何内容的格式不正确,很抱歉 import javax.swing.JOptionPane; public class Cortana2 { public static void main(String[] args) throws Exception { //Declaring Variables (Add more commands)
import javax.swing.JOptionPane;
public class Cortana2 {
public static void main(String[] args) throws Exception {
//Declaring Variables (Add more commands)
String command;
// Command will always stay the same
// All strings below are commands to put in
String Steam;
String League;
League=("League");
Steam=("Steam");
command= JOptionPane.showInputDialog("Give a valid command");
if (command == null) {
JOptionPane.showMessageDialog(null, "This is not a valid command. If you have forgotten what commands are valid, please refer to Devon for assistance");
JOptionPane.getRootFrame().dispose();
} else if (command == League) {
Runtime.getRuntime().exec("\"D:/LeagueClient.exe\"");
} else if (command == Steam) {
Runtime.getRuntime().exec("\"C:/Program Files (x86)/Steam/Steam.exe\"");
}
}
}
不要在if/else语句末尾加“;”
但是当我运行程序并输入命令时,什么也不会执行
不要使用==
来比较字符串
而是使用String.equals(…)
方法
此外,变量名不应以大写字符开头
不要在if/else语句末尾加“;”
但是当我运行程序并输入命令时,什么也不会执行
不要使用==
来比较字符串
而是使用String.equals(…)
方法
此外,变量名不应以大写字符开头。在每个测试的末尾都有一个无关的分号
if (command == null);
else如果(command==League);// 每个测试结束时都有一个无关的分号
if (command == null);
else如果(command==League);// 如果代码后面的Use equals方法如下所示,请从If、Else中删除分号
else if (command == League); // <- remove these semicolons
如果代码后面的Use equals方法如下所示,请从If、Else中删除分号
else if (command == League); // <- remove these semicolons
非常感谢你!我很惊讶人们回答得这么快。我现在唯一的问题是null命令不能正常工作。它应该创建一个文本框,说明命令无效,但它只是关闭输入框并结束程序。有什么想法吗?@PLUR,基本调试技术
(而不是每次遇到问题都在论坛上提问)。是否显示了命令变量的值(使用System.out.println())?如果为空,则显示为空。否则我会猜这个值是一个空字符串(“”)。顺便说一下,我不是说null是一个命令。很抱歉。我的措辞不是最好的。但假设它按如下方式运行:如果您键入League,它将执行League客户端,与Steam相同。但是,如果您没有键入有效的命令,或者将其完全保留为空,它将显示消息。Null表示不正确?@PLUR,Null表示不正确?
-不,不正确。JOptionPane.showInputDialog()
返回一个字符串。它可以是空字符串,也可以是空字符串。阅读API中的文档。如果不清楚,则需要进行一些基本调试。不要假设该值为null。为什么还要关心null呢。您应该首先检查两个有效值,如果不是两个有效值之一,则else语句将显示错误对话框。如果有人键入“a”并点击回车键会怎么样?这也是一个无效的命令。非常感谢!我很惊讶人们回答得这么快。我现在唯一的问题是null命令不能正常工作。它应该创建一个文本框,说明命令无效,但它只是关闭输入框并结束程序。有什么想法吗?@PLUR,基本调试技术
(而不是每次遇到问题都在论坛上提问)。是否显示了命令变量的值(使用System.out.println())?如果为空,则显示为空。否则我会猜这个值是一个空字符串(“”)。顺便说一下,我不是说null是一个命令。很抱歉。我的措辞不是最好的。但假设它按如下方式运行:如果您键入League,它将执行League客户端,与Steam相同。但是,如果您没有键入有效的命令,或者将其完全保留为空,它将显示消息。Null表示不正确?@PLUR,Null表示不正确?
-不,不正确。JOptionPane.showInputDialog()
返回一个字符串。它可以是空字符串,也可以是空字符串。阅读API中的文档。如果不清楚,则需要进行一些基本调试。不要假设该值为null。为什么还要关心null呢。您应该首先检查两个有效值,如果不是两个有效值之一,则else语句将显示错误对话框。如果有人键入“a”并点击回车键会怎么样?这也是一个无效的命令。