Java Switch语句没有正确递增
我有一个名为Java Switch语句没有正确递增,java,image,events,button,Java,Image,Events,Button,我有一个名为nextAd的按钮,它应该在每次单击时显示一组不同的图像,但当我单击它时,什么也不会出现 问题:为什么我的开关语句没有导致显示不同的图像? 最好不使用阵列 案例“1”:您所比较的是char(文本ASCII字符1),而不是数字1在ASCII码中是49,所以你并不是在与你所认为的自己进行比较 case foo:后面的大括号是不必要的。break语句实际上是从块中分离出来的,而不是从案例中分离出来的,因此您应该删除{}s 您在单击侦听器中设置了private int=0,因此它总是设置为0
nextAd
的按钮,它应该在每次单击时显示一组不同的图像,但当我单击它时,什么也不会出现
问题:为什么我的开关
语句没有导致显示不同的图像?
最好不使用阵列
案例“1”:
您所比较的是char
(文本ASCII字符1
),而不是数字1
在ASCII码中是49,所以你并不是在与你所认为的自己进行比较case foo:
后面的大括号是不必要的。break
语句实际上是从块中分离出来的,而不是从案例中分离出来的,因此您应该删除{}
s
private int=0
,因此它总是设置为0,然后递增为1,这不起任何作用。您需要在侦听器之外声明它你的箱子里的冒号后面有一个大括号,不需要,应该是箱子1:stuff;中断 还要将int i设置为私有实例变量,在类中声明,而不是在方法中声明,因为每次单击按钮时,方法都会运行,并且i再次等于0 范例
switch (int) {
case 1:
stuff;
moreStuff;
break;
case 2:
stuff;
moreStuff;
break;
case 3:
stuff;
moreStuff;
break;
default:
default behavior;
break;
}
我怎样才能让它注册为“点击1个按钮”呢?@JordanPurinton-Uhh,你是什么意思?注册什么?所以,如果我单击一次按钮,它将执行'Case'1':'如果我再次单击它,它将执行'Case'2':',etc@JordanPurinton如果你解决了答案中提到的问题,它就会这么做。我知道了,谢谢。那么,我如何使它在第一个广告出现并且序列重复的原始起始位置循环<代码>/src/在生成程序后将不存在,因此无法找到图像
ImageIcon(String)
需要一个文件资源,而您的图像不是…哦,为什么我这么麻烦,您显然没有在听,因为您已经删除了同一代码上的上一个问题…不,对不起,我在听关于文件位置的问题,但是我主要关心的是找出switch语句无法正确执行的原因,这就是我在这里发现的。我非常感谢你指出这一点,并将努力解决这一点。别担心我,我只是度过了糟糕的一天,很抱歉向你发泄;)发生在我们最好的人身上。快乐编程!
switch (int) {
case 1:
stuff;
moreStuff;
break;
case 2:
stuff;
moreStuff;
break;
case 3:
stuff;
moreStuff;
break;
default:
default behavior;
break;
}