gpt4 book ai didi

Java:不兼容的类型

转载 作者:行者123 更新时间:2023-11-29 07:53:22 27 4
gpt4 key购买 nike

import java.text.*;
import java.util.*;
public class Proj3 {
public static void main(String[]args){
// DecimalFormat df = new DecimalFormat("#0.00”);
Scanner s = new Scanner(System.in);
int TotalHours = 0;
int TotalGrade = 0;

System.out.print("How many courses did you take? ");
int Courses = Integer.parseInt(s.nextLine());
System.out.println("");

int CourseNumber = Courses - (Courses - 1);
while (Courses > 0){
System.out.print("Course (" + CourseNumber +"): How many hours? ");
int Hours = Integer.parseInt(s.nextLine());
TotalHours = TotalHours + Hours;

System.out.print("Course (" + CourseNumber +"): Letter grade? ");
char Grade = s.nextLine().charAt(0);

if (Grade == 'A'){
TotalGrade = TotalGrade + (4 * Hours);
}
if (Grade == 'B'){
TotalGrade = TotalGrade + (3 * Hours);
}
if (Grade == 'C'){
TotalGrade = TotalGrade + (2 * Hours);
}
if (Grade == 'D'){
TotalGrade = TotalGrade + (1 * Hours);
}

Courses = Courses - 1;
CourseNumber = CourseNumber + 1;
}
Double GPA = TotalGrade / TotalHours;
System.out.println(df.format(GPA));

}
}

这是一项作业,我不知道如何解决我的问题。Double GPA = TotalGrade/ToutalHours; 行出现了 Incompatible Types 错误。

另外,我应该在主程序的开头包含 DecimalFormat df = new DecimalFormat("#0.00”); 行,但它不起作用。

任何事情都非常有帮助。谢谢

最佳答案

 Double GPA = TotalGrade / TotalHours;

Autoboxing是 Java 编译器在原始类型和它们相应的对象包装器类之间进行的自动转换。因此 Double 是原语 double 的包装类,Integer 是原语 int 的包装类。

您的 TotalGrade/TotalHours 生成的是 int,但您试图将其分配给类型为 Double 的对象。执行以下任一操作:

double GPA = (double)TotalGrade / TotalHours;

或者,

Double GPA = (double)TotalGrade / TotalHours;

关于Java:不兼容的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19602483/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com