Android: Int остается прежним - PullRequest
0 голосов
/ 13 марта 2012

Я чувствую себя глупо, когда спрашиваю об этом, но я боролся с этим уже целый день, и я не могу заставить его работать.

Итак, моя проблема в том, что я хочу добавить 1 к целому числу и сделать так:

1+1=2
2+1=3

То, что он продолжает обновлять Integer У меня есть это сейчас;

int val = 1;
int g = 1;

val = g + val;

Но он продолжает говорить, что его 2, почему?

Спасибо.

Ответы [ 5 ]

3 голосов
/ 13 марта 2012

Полагаю, вы поместили весь свой код в обработчик кликов. Вместо этого поместите объявление / инициализацию переменной на уровне класса и только ваш код добавления в ваш обработчик кликов. Грубый код следующим образом:

public YourActivity extends Activity {
    int val = 1;
    int g = 1;

    @Override
    protected void onCreate (Bundle savedInstanceState) {
        ... //find button in here
        button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                val = g + val;
            }
        });
    }
}
2 голосов
/ 13 марта 2012

Поскольку вы продолжаете устанавливать его на 1. Инициализируйте его вне цикла.

0 голосов
/ 13 марта 2012

Так что моя проблема в том, что я хочу добавить 1 к целому числу и сделать так:

1+1=2
2+1=3

Полагаю, вы хотите сделать что-то подобное, чтобы вывести результат определенное количество раз.

int timesToLoop = 10;
int summedUp = 0;
for (int i=0; i < timesToLoop; i++)
{
    summedUp = i + 1;
    System.out.println(i + " + " + "1 = " + summedUp);
}
0 голосов
/ 13 марта 2012
int val = 1; int g = 1;  val = g + val;

Всегда будет иметь значение 2. Потому что, что происходит, вы берете значение в g, которое равно 1, и значение в val, которое равно 1. Это дает сумму 2. Затем вы берете 2 иприсвойте его переменной val (которая ранее была инициализирована как 1).

1 + 1 всегда будет 2 (в целочисленной математике)

0 голосов
/ 13 марта 2012
int val = 1;
int g = 1;

Следующая строка:

val = g + val;
Следовательно,

эквивалентно

val = 1 + 1;

, что эквивалентно

val = 2;

Не уверен, что вы ожидаете здесь ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...