gpt4 book ai didi

java - 变量可能没有被初始化,不明白为什么

转载 作者:行者123 更新时间:2023-11-30 07:19:50 27 4
gpt4 key购买 nike

所以我正在学习 Java 入门类(class),制作一个成绩计算器,增加了根据这组条件调整成绩的任务:

如果学生完成了奖励作业:

  • 考试 1 的成绩是:
    • 考试 2 成绩的 80%(如果它高于考试 1 的原始成绩),或者
    • 原始考试 1 成绩。
  • 考试 2 的成绩是:
    • 考试 3 成绩的 80%(如果它高于考试 2 的原始成绩),或者
    • 原始考试 2 成绩。

始终首先针对考试 1 进行修改。

我在考试 1 年级时尝试过这个,尝试为 g1n 分配值 g2 * 0.8 if (g2 * 0.8) > g1,否则将 g1 的值赋给它。我无法看到 g1n 没有被初始化,因为在我看来我刚刚列出的条件是详尽无遗的。

下面是我的代码的相关部分。给了什么?

// declare variables
int g1;
int g2;
int g3;
char grade;
double g1n;
double g2n;
double avg;
String bonus;

// get input
System.out.println("*************** Grade Computer *************");
System.out.println("Enter the student's first name: ");
String first = input.next();
System.out.println("Enter the student's middle initial: ");
String mid = input.next();
System.out.println("Enter the student's last name: ");
String last = input.next();
System.out.println("Enter EXAM 1 grade: ");
g1 = input.nextInt();
System.out.println("Enter EXAM 2 grade: ");
g2 = input.nextInt();
System.out.println("Enter EXAM 3 grade: ");
g3 = input.nextInt();
System.out.println("Was bonus work done? [yes/no]: ");
bonus = input.next();
System.out.println(g1 + " " + g2 + " " + g3 + " " + bonus);

// adjust exam scores if necesssary
if (bonus.equals("yes")) {
if (((double)g2 * 0.8) > g1) {
g1n = ((double)g2 * 0.8);
} else {
g1n = (double)g1;
}
}

编辑:

我将其更改为这个,但仍然收到相同的消息...

if (bonus.equals("yes")) {
if (((double)g2 * 0.8) > g1) {
g1n = ((double)g2 * 0.8);
}
if (((double)g3 * 0.8) > g2) {
g2n = ((double)g3 * 0.8);
}
} else {
g1n = (double)g1;
g2n = (double)g2;
}

// compute average
avg = (g1n + (double)g2 + (double)g3) / 3;

最佳答案

如果 bonus 不等于 "yes",则永远不会设置 g1n

关于java - 变量可能没有被初始化,不明白为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14370331/

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