Java 使用来自JLabel的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

我一直在努力解决这个问题,我有一个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 = " + 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()