2016-02-28 3 views
1

Я работаю над проектом Trivia. Я создал класс под названием Trivia, который имеет все необходимые методы для установки вопросов и ответов и т. Д. В классе тестера мне нужно создать массив из 5 объектов Trivia, которые задают ответы, вопросы и значения точек из 5 вопросов. Я смущен тем, как устанавливать значения. Я создал массив объектов Trivia и пространство для 5 объектов. Вот мой код, спасибо!Создание массива объектов из класса I, созданного

public class Trivia { 
private String question; 
private String answer; 
private int points; 

public Trivia() { 
    question = " "; 
    answer = " "; 
    points = 0; 
} 

public String getQuestion() { 
    return question; 
} 

public String getAnswer() { 
    return answer; 
} 

public int getPoints() { 
    return points; 
} 

public void setQuestion(String q) { 
    question = q; 
} 

public void setAnswer(String a) { 
    answer = a; 
} 

public void setPoints(int p) { 
    points = p; 
} 

} 

(класс Tester)

public class Driver { 

public static void main(String[] args) { 
    Trivia[] t = new Trivia[5]; 
    for (int i = 0; i <= 5; i++) { 
     t[i] = new Trivia(); 
    } 

} 

} 
+0

Вместо 'i <= 5;' в вашем цикле 'for', попробуйте' i <5; ' – AMACB

+0

Ой, моя ошибка. «=» бессознательно проскользнул – JavaGuy1

ответ

1

Эта линия создает новые Trivia и сохраняет его в массиве:

for (int i = 0; i <= 5; i++) { 
    t[i] = new Trivia(); 
} 

Вы можете использовать это, чтобы назначить вопрос. Однако все вопросы, тогда будет то же самое ...

for (int i = 0; i <= 5; i++) { 
    t[i] = new Trivia(); 
    t[i].setQuestion("bla"); 
} 

Вы можете можете создать отдельные вопросы после цикла:

for (int i = 0; i <= 5; i++) { 
    t[i] = new Trivia(); 
} 
t[0].setQuestion("question1"); 

Матер разработки приложения вам придется думать о удобно способ хранения вопроса. Hardcoding их в код Java хорош для начала, но вам придется перекомпилировать, каждый раз, когда меняется вопрос.

Возможно, с помощью файла .property со всеми текстами вопросов может быть выбран вариант.

+0

Если бы я поставил 't [i] .setQuestion (« bla »);' в цикле он бы не задал тот же вопрос для всех 5 вопросов? – JavaGuy1

+0

Хорошо, я понял. Я забыл о t [0] t [1] и т. Д. Спасибо! – JavaGuy1

+0

Я согласен через 8 минут, спасибо – JavaGuy1

1

Вы можете сделать somenthng так:

Trivia[] t = new Trivia[5]; 
    for (int i = 0; i < 5; i++) { 
     Trivia tx = new Trivia(); 
     tx.setQuestion("xxxx"); 
     tx.setAnswer("xxxx"); 
     tx.setPoints(0); 
     t[i] = tx; 
    } 
0

Установите значения, используя методу сеттера вы объявленная в своем классе.

Пример:

t[i].setAnswer("answer"); 
0

Может быть что-то вроде этого:

Trivia[] t = new Trivia[5]; 
    for (int i = 0; i <= 5; i++) { 
     t[i] = new Trivia(); 
     t[i].setQuestion("What is "+i+"+"+i+"?"); 
     t[i].setAnswer(""+(2*i)); 
    } 

Это задает вопросы и ответы, используя вас инкубационных-методы.

Смежные вопросы