#java
Вопрос:
Приведенный ниже простой код возвращает имя пользователя
public class Name {
String firstName;
String lastName;
//Constructor
public Name(String f, String l) {
firstName = f;
lastName = l;
}
//Getter
public String getFirstname(){return firstName; }
public String getLastName() {return lastName;}
//Setter
public void setFirstName(String newFirstname){this.firstName=newFirstname;}
public void setLastName(String lastName) {this.lastName = lastName; }
public String getDetail() {
return firstName lastName;
}
public static void main(String[] args) {
Name C1 = new Name("Mary","Smith") ;
System.out.println(C1.getDetail());
}
}
Что мне нужно сделать, чтобы я мог добавить массивы экзаменационных отметок в конструктор имен? скажи [7,8,6,8,9]
я пытаюсь изменить линию
Name C1 = new Name("Mary","Smith") ;
к чему-то вроде
Name C1 = new Name("Mary","Smith", [7,8,6,8,9]);
так что распечатайте «Мэрисмит [7,8,6,8,9]».
Я думаю, что я должен объявить int[] Score = new int[5];
переменную экземпляра, но я не знаю, как добавить ее в конструктор и сделать то, что я хочу выше. или я делаю это совершенно неправильно?
есть какая-нибудь помощь и советы?
Ответ №1:
Добавьте новый параметр в конструктор, принимающий массив, и сохраните его в переменной экземпляра как:
public class Name
private String firstName;
private String lastName;
private int[] scores;
//Constructor
public Name(String f, String l, int[] s) {
firstName = f;
lastName = l;
scores = s;
}
}
И в getDetail
,
public String getDetail() {
return firstName " " lastName " " Arrays.toString(scores);
}
Комментарии:
1. Спасибо! но как бы добавить массивы баллов? я попробовал назвать C1 = новое имя(«Мэри»,»Смит»,[1,2,3,4,6]); но это не работает
2. Вам нужно построить свой объект следующим образом: Имя C1 = новое имя(«Мэри»,»Смит», new int[]{1,2,3,4,6});