Java 学生班。如何根据单位输入打印成绩?
输出:Java 学生班。如何根据单位输入打印成绩?,java,Java,输出: import java.util.Scanner; public class StudentTest { public static void main(String[] args){ Student student = new Student(0, " ", 0); Scanner scan = new Scanner(System.in); int ID; String name; double unitsTaken; String grade = ""; System.o
import java.util.Scanner;
public class StudentTest {
public static void main(String[] args){
Student student = new Student(0, " ", 0);
Scanner scan = new Scanner(System.in);
int ID;
String name;
double unitsTaken;
String grade = "";
System.out.println("Student information:");
System.out.print("Student ID: ");
ID = scan.nextInt();
student.setID(ID);
scan.nextLine();
System.out.print("Student Name: ");
name = scan.nextLine();
student.setName(name);
System.out.print("Total Number of Units Completed: ");
unitsTaken = scan.nextDouble();
student.setUnits(unitsTaken);
student.getGrade(grade);
System.out.println("\nUpdated Student information");
System.out.println("Student ID: " + ID);
System.out.println("Student Name: " + name);
System.out.println("Total Number of Units Completed: " + unitsTaken);
System.out.println("Class standing: " + grade);
}
}
班级站姿不会打印出来。我想根据输入的单位数量打印出来。为什么我的方法不起作用?简而言之,你的问题是,“两个属性如何依赖于一个字段?”所讨论的字段是单位,它应该只有一个setter或“mutator”方法。对于两个属性getUnit和getGrade,应该有两个getter或accessor方法。e、 g
Student information:
Student ID: 123123
Student Name: john
Total Number of Units Completed: 34
Updated Student information
Student ID: 123123
Student Name: john
Total Number of Units Completed: 34.0
Class standing:
它不应使用以下参数:
student.getGrade(grade);
另一个选项是为计算创建静态“实用程序”方法:
student.getGrade(); // better
去掉
setGrade(…)
,改为使用getGrade()
中当前的公式来计算要返回的字符串。换句话说,计算或“衍生”a级property@HovercraftFullOfEels比我快。但是更具体地说:您从未在任何地方调用setGrade()。您只需调用setUnits()
,然后调用getGrade()
@HovercraftFullOfEels如何使其返回字符串?它说不能将double转换为String正如我前面所说的,将setGrade(…)
中找到的if块移动到getGrade()
中,并在这些块中返回字符串。我明白了,但我的问题是在Student中调用getGrade()时Test@Tiblack9:但是如果你用这个来修复它,那么getGrade()
willwork@Tiblack9:您调用的getGrade()
错误。不要让它接受参数。谢谢你(对不起,我是新来编码的)!。我把System.out.println(等级)放进去;如果我为这两个类制作一个UML图,StudentTest会在图中包含方法吗?或否,因为该方法未在该类中声明?
student.getGrade(grade);
student.getGrade(); // better
public static String getGrade(int units) {
if (units < 30) {
return "Freshman";
} else if (units < 60) {
return "Sophmore";
} else if (units < 90) {
return "Junior";
} else {
return "Senior";
}
}
System.out.println("Student grade: " + Student.getGrade(student.getUnits());