Java 使用来自JLabel的if进行双重比较
我一直在努力解决这个问题,我有一个jlabel数组和一个double数组,当我使用if语句时,当值相同时它不会抛出Java 使用来自JLabel的if进行双重比较,java,if-statement,for-loop,double,jlabel,Java,If Statement,For Loop,Double,Jlabel,我一直在努力解决这个问题,我有一个jlabel数组和一个double数组,当我使用if语句时,当值相同时它不会抛出 public static int notobtn(int in ) { int returnVal = 0; int no = 0; for (no = 0; no < 26; no++) { System.out.println("----------------------"); System.out.println("ScrambleAmt
public static int notobtn(int in ) {
int returnVal = 0;
int no = 0;
for (no = 0; no < 26; no++) {
System.out.println("----------------------");
System.out.println("ScrambleAmt = " + Gui.ScrambleAmt[ in ]);
System.out.println("number = " + Double.valueOf(Gui.lbls[no].getText().replaceAll("[^\\w]", "")));
System.out.println("----------------------");
if (Gui.ScrambleAmt[ in ] == Double.valueOf(Gui.lbls[no].getText().replaceAll("[^\\w]", ""))) {
returnVal = no;
System.out.println("WINNER");
}
}
return returnVal;
ScrambleMAT[]也是一个双数组,只有在每次程序运行时才会对相同的数字进行洗牌,控制台才会打印出所有的数字,但当它达到相等的数字时,它不会打印Winner,并且returnVal保持设置为0
如果有人能帮我的话,我想这与JLabel值的解析有些关系,但我会非常感激:D事先非常感谢
piemansam5变化
double.valueOf()
到
我认为您对标签中双值的解析方法是不正确的。尝试另一个正则表达式。它可以很好地删除$符号,当我打印值时,它只是数字和小数点,所以我很确定这一切都是好的,但无论哪种方法,我都可以获取一些正则表达式。我将非常感谢您使用[^0-9.,]尝试过它,效果很好。我仍然有问题,if语句仍然不会抛出:/that使用新的正则表达式
double.valueOf()
double.parseDouble()