Хорошо, поэтому у меня есть этот кусок кода:
blah = (26^0)*(1); System.out.println(blah);
Который выдает результат 26, когда он должен быть равен 1. Что я делаю не так? Что я могу сделать, чтобы это исправить?
Думаю, вы путаете оператора ^. В Java оператор ^ выполняет операцию исключающего или. Чтобы получить власть, вам нужно использовать Math.pow(a,b)
^
Math.pow(a,b)
В Java оператор ^ не возведен в степень, а скорее побитовый xor. Все xor 0 само по себе, поэтому 26^0=26, 26*1=26
xor 0
26^0=26
26*1=26
Math.pow(base, exponent) работает.^ означает Бит-XOR .
Math.pow(base, exponent)
Итак, вы должны использовать:
blah = Math.pow(26, 0) * 1; System.out.println(blah);
Как и в предыдущих ответах, вы фактически делаете битовое XOR (что приводит к 26), а затем умножаете на 1. См. Операции побитового и битового сдвига и Сводка операторов для больше информации. Вы должны использовать Math.pow (основание, экспонента), поэтому Math.pow (26,0, 0,0), как описано в Math api