Как я могу сложить значения объекта массива? - PullRequest
0 голосов
/ 21 ноября 2011

У меня есть массив, который создал 5 объектов. Каждый объект имеет две строки и int. Позволяет позвонить в int "номер". Как я могу сложить «числа» каждого объекта в окончательное число, предположив, что числа меняются, поэтому я не могу просто поставить 5 + 3 и т. Д. Например,

          Question question[] = new Question[5];

 public Constructor()
{
    String1 = "null";
    Sting2 = "null";
    number = 0;
}

Так что у меня есть пять объектов, которые выглядят так, все они имеют разные значения. Число относится к баллу, поэтому, если пользователь делает что-то правильно, число будет добавлено к переменной, мне нужно знать, как сложить 5 переменных, когда я выполняю 5 объектов в чем-то вроде.

  for (i=0; i < Question.length; i++)
 {
   object.dostuff
}

Ответы [ 2 ]

2 голосов
/ 21 ноября 2011

Сначала должно произойти много вещей:

  1. Инициализируйте массив : кажется, что вы его закрыли.
  2. Инициализация объектов в массиве : убедитесь, что каждая ячейка вашего массива действительно содержит экземпляр вопроса (или, если быть более точным: ссылку на экземпляр вопроса).
  3. Итерация по массиву : здесь ваш цикл, кажется, проходит по классу (Вопрос, с заглавной буквой Q), но вам нужно выполнить итерацию по массиву (вопрос с небольшим q). Совет, поскольку переменный вопрос здесь представляет собой массив вопросов, было бы более разумно, если бы вы делали свое имя во множественном числе (вопросы), чтобы проиллюстрировать, что это массив. Основное правило - сделать имя как можно более явным, поэтому questionArray будет еще лучше. После определенного момента это вопрос вкуса. Практическое правило заключается в том, что если вам нужно посмотреть на объявление переменной, то, вероятно, она названа неправильно.
  4. доступ к методам, свойствам и т. Д. Объектов : при итерации по массиву вам нужно получить доступ к нужному индексу (questions [i]), а затем получить доступ к членам этого объекта (questions [i] .doStuff). ). Если вы стремитесь к ООП (что, как я полагаю, является ключевым моментом здесь), то вы можете сделать очевидные операции как функции вашего класса Вопроса. Затем просто вызовите эту функцию с правильным параметром (questions [i] .setNumber (i)). Все зависит от того, что вам нужно сделать.

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

1 голос
/ 21 ноября 2011

Не используйте Question.length, используйте question.length

Добавьте метод доступа и метод увеличения баллов.

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