我的输出是零,但为什么?我已经给每个课程注意值得信赖。 [英] My output is zero, but why? I have given values to note and credit for every lesson.
本文介绍了我的输出是零,但为什么?我已经给每个课程注意值得信赖。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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;
}
}
我的尝试:
i找不到什么问题,为什么我得到零回答?
What I have tried:
i can't find what problem is,why do i get zero for answer?
推荐答案
我没有检查所有的代码但你没有添加传递的课程:
I did not checked all the code but you are not adding the passed lesson:
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++;
}
// This is missing in your code:
listLesson[number] = l;
number++;
}
这篇关于我的输出是零,但为什么?我已经给每个课程注意值得信赖。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文