2014-01-15 5 views
-4

Я пишу программу, чтобы найти все комбинации сложения, вычитания, деления и умножения строки чисел ... Проблема в том, что Java выводит числа, «близкие» к цели. То есть если цель равна 20 ... когда у меня есть if(number == target){...} - принимаются такие числа, как 23, 18 и т. д.Java использует только целые числа

Также вы можете сделать чек с помощью математической библиотеки для целых чисел?

код для проверки, если равен цель:

if(total1 == target){ 
     System.out.println(a + " = " + total1); 
} 
+6

вы можете показать больше кода? Взгляните на Math.round (float arg0): int – kai

+0

Не думаю, что я понимаю ваш вопрос .. Возможно, мне ответят что-то еще. Пожалуйста, уточните это. – Maroun

+1

Если 'target = 20',' if-condition' верно для числа '23, 18'? Как это возможно? – Christian

ответ

0

Попробуйте использовать BigDecimal вместо primitves и объектов, как двойные и Float.

E.g.

int total1 = new BigDecimal (5).divide (new BigDecimal(2).intValue(); 
Смежные вопросы