Интересная вещь происходит, когда я беру число, умножаю его на 10, а затем добавляю 1JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Интересная вещь происходит, когда я беру число, умножаю его на 10, а затем добавляю 1

Сообщение Anonymous »

Код: Выделить всё

static int fn = 0;
static int sn = 0;
static boolean running = false;
public static void run()
{
while (running == true)
{
fn = numbers[0];
sn = numbers[1];
if (sign == 0)
{
input.setText(String.valueOf(fn));
}
}
}
static class one implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if (Display.sign == 0)
{
Display.numbers[0] = Display.numbers[0] *10;
Display.numbers[0] = Display.numbers[0] +1;
}
}
}
Это код калькулятора, который я программирую (конечно, не весь). Это та часть, где я отображаю номер на экране, что я и сделал, но, как ни странно, это работает до 10 символов.

Поэтому после того, как я заставлю программу отображать 1111111111, я хочу сделать это еще раз, и она дает мне это странное число -1773790777. Я не понимаю, как программа это делает. Как вы можете видеть, выше Display.numbers[] — это массив, в котором я храню два числа. Поэтому, чтобы перейти к нужному месту, я умножаю число в массиве на 10, а затем добавляю 1. Итак, как это вообще дает мне отрицательное число и что я могу сделать, чтобы решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/212 ... nd-then-ad
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»