Java-object可以';t存储数据
我爸爸和我把范围缩小到对象无法存储数据。另外,我对java还是新手。代码应该在控制台中打印名字、姓氏、成绩和平均成绩。我认为问题出在公共双getCalcGraeAverage()中,但如果有错,请纠正我Java-object可以';t存储数据,java,Java,我爸爸和我把范围缩小到对象无法存储数据。另外,我对java还是新手。代码应该在控制台中打印名字、姓氏、成绩和平均成绩。我认为问题出在公共双getCalcGraeAverage()中,但如果有错,请纠正我 import java.util.Scanner; /** * Write a description of class Student here. * * @author XXXX * @version XXXX */ public class Student { Stri
import java.util.Scanner;
/**
* Write a description of class Student here.
*
* @author XXXX
* @version XXXX
*/
public class Student
{
String firstName;
String lastName;
int gradeLevel;
double gradeAverage;
int totalAssignments;
double totalPoints;
/**
* Create a new student with student's name, grade, and average
*/
public Student(String newFirstName, String newLastName, int newGradeLevel, double newGradeAverage)
{
firstName = newFirstName;
lastName = newLastName;
gradeLevel = newGradeLevel;
gradeAverage = newGradeAverage = 0.0;
}
/**
* Return the student's first name.
*/
public String getFirstName()
{
return firstName;
}
/**
* Return the student's last name.
*/
public String getLastName()
{
return lastName;
}
/**
* Return the grade level of the student.
*/
public int getGradeLevel()
{
return gradeLevel;
}
/**
* Calculates grade average.
*/
public double getCalcGradeAverage()
{
double gradeAverage = totalAssignments / totalPoints;
return gradeAverage;
}
public static void main (String[] args)
{
Student student1 = new Student ("XXXX", "XXXX", 11, 0.0);
System.out.println("The student's first name is: " + student1.getFirstName());
System.out.println("The student's last name is: " + student1.getLastName());
System.out.println("The student's grade level is: " + student1.getGradeLevel());
System.out.println("Please enter the total assignment points the student has earned: ");
Scanner input = new Scanner(System.in);
Double totalAssignments = input.nextDouble();
System.out.println("Please enter the number of assignments given: ");
double totalpoints = input.nextDouble();
System.out.println(student1.getFirstName() + " " + student1.getLastName() + " average grade is" + student1.getCalcGradeAverage());
}
}
在您的代码中,您是:
学生1
对象系统中读取totalAssignments
,totalpoints
student1.getCalcGradeAverage()
student
的totalAssignments
、totalpoints
字段设置为您读取的值,否则它们将保留默认值零。例如
student1.totalAssignments = totalAssignments;
student1.totalpoints = totalpoints;
另外,由于totalAssignments
属于int
类型,您可能希望将其理解为:
int totalAssignments = input.nextInt();
在编写代码时,为具有类作用域的student类声明变量
int totalAssignments;
double totalPoints;
这些类范围变量用于方法:getCalcGradeAverage()中
此方法使用学生的总作业和学生的总分数
创建新学生时,这些变量等于零,因为不受构造函数中的值的影响
在写入时的主方法中:
Double totalAssignments =
您声明了一个名为“totalAssignments”的新变量,该变量具有方法作用域。当该方法结束时,变量引用将消失,并且无法再访问该变量。
可以考虑变量变量与学生变量不一样:学生。总赋值总是等于零,因为没有影响到他。
然后假设你能做到:
student1.totalAssignments = input.nextInt();
student1.totalPoints = input.nextDouble();
你能把你的
学生
班级的代码添加到问题中吗?你对总作业
和总分数
做了什么吗?我不确定,也添加了代码。gradeAverage=newGradeAverage=0.0
的意义是什么,我将TotalAssignments和TotalPoints更改为int,但现在我尝试运行它并读取java.lang.arithmetricException:/by零。那么这是否意味着正如你所说的,这些值保持在零值?如果是这样,我该怎么做才能解决这个问题?谢谢。所以你是说我应该更新变量totalAssignments为double,totalpoints为int of student。谢谢。所以你是说我应该更新变量totalAssignments为double,totalpoints为int of student。此外,平均成绩应该是int?根据预期包含的物理值,这些变量应该是int或double。根据名称totalAssignments
判断,它应该是一个整数。我在上面的回答中建议您将它作为一个整数来阅读,因为这就是您的学生课堂上的内容。java.lang.arithmetricException:/by zero在将数字除以零时抛出。计算机无法执行这样的操作