[закрыть]

Регистрация на сайте

Если вы уже зарегистрированы, пожалуйста войдите на сайт!
Email:
Имя (ник):
Пароль:
Повторите пароль:
  
Защита от роботов:

Плохо видно


java collection arraylist Integer

Нашел одну задачку где надо при помощи коллекции вот например [9, 9] и надо чтобы при прибавке на единицу получилось не [1, 10], а [1, 0, 0], ну и так дальше чтобы по циклу скажем ишло, пробовал все, не знаю как сделать через Integer эту задачку вот что я пока сделал: ArrayList<integer> a = new ArrayList<integer>(); int x = 9; int y = 0; a.add(new Integer(x)); a.add(new Integer(y)); int b = 1; for( int i = 0 ; i < 11 ; i++ ) { a.set(1,b++); if(y>9){ a.set(y,0); } System.out.println(a.toString()); } Переменная y остается не изменной и при условном операторе не реагирует, я так понял это новая фиша в жабе boxing unboxing как решить задачку подскажите пожалуйста.Буду очень благодарен. Добавлено 1 день назад Оно тут само с маленькой пишется, у меня все нормально.



Знаю верный ответ Найти ответ на вопрос



Ключевые слова: java Integer оператор инкремент, Java Collection все, программируем java коллекция integer,

2 ответа к вопросу “java collection arraylist Integer”

  • ответ #0 / ответил: Служба поддержки

    • ответ #1 / ответил: happy222
      Полезный ответ? Да (0) / Нет (0)


      Дженерики у тебя с маленькой буквы почему-то, неужели компилятор не ругается? Надо: ArrayList<Integer>. Нда, зря они эту перепаковку ввели, уж очень оно неявно выходит. Почитай разницу оператора инкремента b++ и ++b. В твоем случае это важно. Строчка "a.set(1,b++);" может быть записана так: Integer new_i = new Integer(b); b = b + 1; a.set(1, new_i); Еще одна неочевидная вещь в java это оператор == для объектов. Integer оne = new Integer(1); Integer one2 = new Integer(1); System.out.println ( 1 == 1 ); //true, значения примитивов равны System.out.println ( оne == one2 ); // false, объекты разные System.out.println ( one.equals(one2) ); // true, значения оберток совпадают ЗЫ еще сигнатуру метода set в списке глянь: ArrayListObject.set(int index, Object value)



      Ответить

Ответить на вопрос


Не хотите вводить проверочный код? Пройдите регистрацию!
Проверочный код:

обновить картинку

Статистика

  • © 2010-2011. Копирование материалов с сайта строго запрещено
  • Не нашли ответ? задай свой вопрос