Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java应用程序if/case推荐_Java_Switch Statement_If Statement - Fatal编程技术网

Java应用程序if/case推荐

Java应用程序if/case推荐,java,switch-statement,if-statement,Java,Switch Statement,If Statement,我正在为一门Java课程编写一个应用程序。我是一个完全的初学者,刚刚开始学习我从课程和网络中学到的材料。应用程序正在显示某些行为,我不确定是什么导致了它。该应用程序基于GUI,并根据用户输入进行计算。 对于action listener部分,我有一组If语句,例如: “如果这个按钮可以这样做 如果此按钮执行此操作“ 像那样排成一行。应用程序似乎正在运行所有if语句,而不是运行与按下的按钮对应的语句 对于这类事情,使用case/switch结构会更好吗 我可以发布我的代码,如果必要的话,我是这个网

我正在为一门Java课程编写一个应用程序。我是一个完全的初学者,刚刚开始学习我从课程和网络中学到的材料。应用程序正在显示某些行为,我不确定是什么导致了它。该应用程序基于GUI,并根据用户输入进行计算。 对于action listener部分,我有一组If语句,例如: “如果这个按钮可以这样做 如果此按钮执行此操作“

像那样排成一行。应用程序似乎正在运行所有if语句,而不是运行与按下的按钮对应的语句

对于这类事情,使用case/switch结构会更好吗


我可以发布我的代码,如果必要的话,我是这个网站的新手,不确定这件事是否可以接受

您可能不应该有一个单独的操作侦听器——为每个控件创建一个单独的操作侦听器有助于保持代码的可读性

但是,如果控件共享大量代码(If语句之前或之后的内容),那么这样做可能有意义。在这种情况下,应该是if/elseif

此外,使侦听器具有完整的类(而不是匿名内部类)也有助于重用代码(每个if语句中的内容都包含在每个子类中)。这可能超出了到目前为止你所学到的

编辑:(更直接地回答您的实际问题)

就您的问题而言,除非drs9222的回答说您在if末尾使用分号是正确的,或者您的if语句测试了错误的东西,否则if不应该全部执行


您可能只是发布您正在测试的内容,但需要使用==或.equals将已知的“Button”对象与event.getSource()进行比较。因为您要比较的每个按钮对象都不同,所以应该只执行一个。

您可能不应该有一个单独的操作侦听器——为每个控件创建一个单独的操作侦听器有助于使代码更具可读性

但是,如果控件共享大量代码(If语句之前或之后的内容),那么这样做可能有意义。在这种情况下,应该是if/elseif

此外,使侦听器具有完整的类(而不是匿名内部类)也有助于重用代码(每个if语句中的内容都包含在每个子类中)。这可能超出了到目前为止你所学到的

编辑:(更直接地回答您的实际问题)

就您的问题而言,除非drs9222的回答说您在if末尾使用分号是正确的,或者您的if语句测试了错误的东西,否则if不应该全部执行


您可能只是发布您正在测试的内容,但需要使用==或.equals将已知的“Button”对象与event.getSource()进行比较。由于您要比较的每个按钮对象都不同,因此应该只执行一个按钮对象。

没有看到代码,我不能确定,但我通常只使用
if
,而不使用
,否则如果
-如果满足了我的几个条件,那么所有关联的代码都会运行。如果只想运行第一个匹配,请使用
If-else
,以确保以下语句都不会执行。

在没有看到代码的情况下,我不能确定,但我通常只使用
If
而不使用
else If
-如果满足我的几个条件,然后运行所有关联的代码。如果您只想运行第一个匹配,请使用
If-else
确保以下语句都不会执行。

在我看到您的代码之前,我不得不猜测,但考虑到您承认的新特性,您可能会这样编写If语句

if (condition);
{
    ...
}
if (condition)
{
    ...
}
而不是像这样

if (condition);
{
    ...
}
if (condition)
{
    ...
}

在我看到你的代码之前,我不得不猜测,但是考虑到你承认的新特性,你可能会这样写你的if语句

if (condition);
{
    ...
}
if (condition)
{
    ...
}
而不是像这样

if (condition);
{
    ...
}
if (condition)
{
    ...
}

你在用其他的如果吗?如果没有,你应该这样做。代码可以在pastebin看到。如果可以在消息中发布代码,我会这样做。Thanks@AlbertoPL注意。我使用的是just:if(){}if(){}我有一种被人皱眉的感觉;)我关于该代码的其他一些技巧:不要随机导入*(从特定包中导入*通常很有用,尤其是
javax.swing
,但通常没有帮助)。很少从框架延伸。尽可能不要扩展/实施一次以上。制表符是邪恶的(四个空格)。除非必要,否则不要将局部变量设置为字段。不要使用C样式的数组;转到Java:
int[]x
。对于声明(仅限),您可能会错过
新类型[]
。注意未经检查的异常(在
Double.valueOf
中进行分析),因为它们表明API不是为用户输入而设计的。您使用的是else ifs吗?如果没有,你应该这样做。代码可以在pastebin看到。如果可以在消息中发布代码,我会这样做。Thanks@AlbertoPL注意。我使用的是just:if(){}if(){}我有一种被人皱眉的感觉;)我关于该代码的其他一些技巧:不要随机导入*(从特定包中导入*通常很有用,尤其是
javax.swing
,但通常没有帮助)。很少从框架延伸。尽可能不要扩展/实施一次以上。制表符是邪恶的(四个空格)。除非必要,否则不要将局部变量设置为字段。不要使用C样式的数组;转到Java:
int[]x
。对于声明(仅限),您可能会错过
新类型[]
。注意未检查的异常(在
Double.valueOf
中解析),因为它们表明API不是为用户输入而设计的。代码可以在这里找到。下拉菜单有3个if语句,每个按钮都有自己的if语句,如果您看到代码,可能会更有意义。感谢您迄今为止的见解。代码可以是f