Мой выход равен нулю, но почему? Я дал значения, чтобы отметить и похвалить за каждый урок.
public class JavaApplication19 { public static void main(String[] args) { Lesson A = new Lesson(); Lesson B = new Lesson(); Lesson C = new Lesson(); Lesson D = new Lesson("CMS 202", "Applied Linear Algebra", 3, 94); A.setCode("CMS 205"); B.setCode("CMS 220"); C.setCode("GERM 201"); A.setName("Object Oriented Programming"); B.setName("Web Programming 1"); C.setName("German Language 1"); A.setNote(99); B.setNote(97); C.setNote(95); A.setCredit(3); B.setCredit(3); C.setCredit(3); Student s = new Student("Nazli Elizade"); s.addLesson(A); s.addLesson(B); s.addLesson(C); s.addLesson(D); System.out.println("Nazli's GPA is" +" "+ s.getTotalcredit()); } }
package javaapplication19; /** * * @author User */ public class Lesson { private String code; private String name; private double note; private int credit; public Lesson() { this.code = null; this.name = null; this.note = 0.0; this.credit = 0; } public Lesson(String c, String n, double note, int cre) { this.code = c; this.name = n; this.note = note; this.credit = cre; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getNote() { return note; } public void setNote(double note) { this.note = note; } public int getCredit() { return credit; } public void setCredit(int credit) { this.credit = credit; } public String toString() { return ("code=" + code + " " + "name=" + name + " " + "note=" + note + " " + "credit=" + credit); } }
package javaapplication19; public class Student { private String name; private Lesson listLesson[]; private int size = 20; private int number = 0; public Student(String name) { this.name = name; listLesson = new Lesson[size]; } public void addLesson(Lesson l) { if (number == size) { Lesson ListNew[] = new Lesson[size + 1]; for (int i = 0; i < size; i++) { ListNew[i] = listLesson[i]; } listLesson = ListNew; size++; } } public double getTotalcredit() { double t1; double total = 0; for (int i = 0; i < number; i++) { if (listLesson[i].getNote() > 60) { t1 = listLesson[i].getNote() * listLesson[i].getCredit(); total += t1; } } return total; } public double getGPA() { double GPA = 0.0; double t1; double total=0; double totalcredit=1; for (int i = 0; i < number; i++) { if (listLesson[i].getNote() > 60) { t1 = listLesson[i].getNote() * listLesson[i].getCredit(); totalcredit += listLesson[i].getCredit(); total += t1; } GPA = total / (totalcredit-1); } return GPA; } }
Что я уже пробовал:
я не могу найти, в чем проблема,почему я получаю ноль за ответ?
[no name]
Умение пользоваться отладчиком-ценный навык.
Member 12702056
я пробовал, но не могу этому научиться, может быть, для того, чтобы понять это, я должен знать больше о программировании.
[no name]
Если вы не можете научиться использовать отладчик, то вы можете также прекратить Программирование. Вы должны уметь использовать отладчик для пошагового выполнения кода, и если вы не можете овладеть этим навыком, то вам придется постоянно просить других людей выполнять вашу работу за вас.
Suvendu Shekhar Giri
Делитесь только соответствующей частью вашего кода, а не всей программой целиком.
Вы должны найти проблемную часть кода. Мы не сможем пройти через огромные строки кода, чтобы выяснить вашу проблему.
Member 12702056
хорошо, спасибо,но я думаю, что у меня есть проблема с основной функцией.Хотя я установил значения, они считались равными 0.
Richard MacCutchan
Это действительно та же проблема, что и ваш предыдущий пост http://www.codeproject.com/Questions/1147716/Please-help-me-i-cant-find-what-is-error-in-my-pro, и общий совет тот же. Сделайте более тщательную проверку вашего кода. Научитесь использовать доступные вам средства отладки. И самое главное, постарайтесь сделать его простым для начала, чтобы у вас было больше шансов увидеть, что происходит при запуске кода:
Создайте только один урок.
Создайте одного ученика и добавьте этот урок.
Теперь пройдите через методы, которые делают вычисления, чтобы увидеть, работает ли это.
Richard MacCutchan
Вы никогда не увеличиваете значение Student. number.
Member 12702056
Большое вам спасибо,я приму их во внимание :)