Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите пожалуйста, что тут не так? Это тема ООП на языке Java.

Mr_ShaMbuf Ученик (103), на голосовании 9 месяцев назад
public class Student {
public String name;
public int[] marksum;
public void Student(int[] marksum,String name) {
this.name = name;
this.marksum = marksum;
}
public double srball(int[] marksum, int callvo){
double summ = 0;
int srball = 0;
for (int i = 0; i < marksum.length ; i++) {
summ = summ + marksum[i];
}
return (double) summ / marksum.length;

}

public Student (int[] marksum,String name) {
this.name = name;
this.marksum = marksum;
}

public void main(String[] args){
int[] marksum = {2,3,4,5,6,};
Student student = new Student(marksum);
double srball = student.srball();
System.out.println(srball);
}
}
Голосование за лучший ответ
Оракул Оракул (62085) 10 месяцев назад
Конструктор с двумя параметрами, а вызываете с одним
Метод srball с двумя параметрами, а вызываете без параметров. Также в этом методе не используется второй параметр callvo, можно удалить. Каст к (double) в return можно убрать.
public void Student - это не конструкор, а метод, выглядит как копия конструктора. Удалить.
Если нужна помощь онлайн - могу помочь.
Mr_ShaMbufУченик (103) 10 месяцев назад
и вам спасибо
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (264001) 10 месяцев назад
Исправлен порядок следования параметров и удален лишний мусор

 import java.util.Arrays; 

class Student {
public String name;
public int[] marksum;

public Student(String name, int[] marksum) {
this.name = name;
this.marksum = marksum;
}

public double srball() {
return marksum.length == 0 ? 0.0 : (double) Arrays.stream(marksum).sum() / marksum.length;
}
}

public class Main {
public static void main(String[] args) {
int[] marksum = {2, 3, 4, 5, 6};
Student student = new Student("John", marksum);
System.out.println(student.srball());
}
}
Mr_ShaMbufУченик (103) 10 месяцев назад
спасибо большое
Похожие вопросы