gpt4 book ai didi

java - 用户输入的总分、平均分、最低分和最高分(条件控制结构)

转载 作者:行者123 更新时间:2023-12-01 06:50:28 26 4
gpt4 key购买 nike

我有以下家庭作业。我们的老师教得不好,所以我需要额外的帮助。

编写一个 Java 程序,输入一名学生在 5 个测验中的 5 个分数。输出五个分数的总和和平均值。确定并显示最高和最低分数。

这就是我现在陷入困境的原因。上次我只显示了 Q3,它只显示平均分和最低分,没有最高分。请帮助我完成这项工作!

import java.util.Scanner;
import java.io.*;

class Quizzes
{

public static void main(String[] args) {
int Q1, Q2, Q3, Q4, Q5;
double average;

Scanner keyboard = new Scanner(System.in);
System.out.print("Enter Quizzes: ");
Q1 = keyboard.nextInt();
Q2 = keyboard.nextInt();
Q3 = keyboard.nextInt();
Q4 = keyboard.nextInt();
Q5 = keyboard.nextInt();

average = (Q1 + Q2 + Q3 + Q4 + Q5) / 5;
System.out.println("Average Score is: " + average);

if (Q1 < Q2 && Q1 < Q3) {
System.out.println("The lowest score is: " + Q1);
} else if (Q2 < Q1 && Q2 < Q3) {
System.out.println("The lowest score is: " + Q2);
} else if (Q3 < Q1 && Q2 < Q3) {
System.out.println("The lowest score is: " + Q3);
} else if (Q1 > Q2 && Q1 > Q3) {
System.out.println("The highest score is: " + Q1);
} else if (Q2 > Q1 && Q2 > Q3) {
System.out.println("The highest score is: " + Q2);
} else if (Q3 > Q3 && Q1 > Q2) {
System.out.println("The highest score is: " + Q3);
} else {
System.out.println("The lowest score is: " + Q3);
}

}
}

最佳答案

在您当前的解决方案中,您有几个基本问​​题,例如 else if (Q3 > Q3)

您也不检查是否相等,即 if (Q2 >= Q3)

您当前技术的主要问题是您有大量 if/else 语句,更好的解决方案是使用如下所示的数组:

public class Quizzes {

public static void main(String[] args) {

double Q1, Q2, Q3, Q4, Q5;
double average = 0;
double max = 0;
double count = 0;
double[] userInput = new double[5];

Scanner keyboard = new Scanner(System.in);
System.out.print("Enter Quizzes: ");
System.out.println("");
Q1 = keyboard.nextInt();
userInput[0] = Q1;
Q2 = keyboard.nextInt();
userInput[1] = Q2;
Q3 = keyboard.nextInt();
userInput[2] = Q3;
Q4 = keyboard.nextInt();
userInput[3] = Q4;
Q5 = keyboard.nextInt();
userInput[4] = Q5;
keyboard.close();

for (int i = 0; i < userInput.length; i++) {
count = count + userInput[i];
average = count / 5;
}
System.out.println("Average Score is: " + average);
Arrays.sort(userInput);
System.out.println("The lowest score is: " + userInput[0]);
max = userInput[userInput.length - 1];
System.out.println("The highest score is: " + max);
}

}

编辑:

既然您已经通知我们您不能使用数组,那么下面的代码将完成这项工作,而无需过多修改您的原始方法:

public class Quizzes {

public static void main(String[] args) {

double Q1, Q2, Q3, Q4, Q5;
double average = 0;
double lowest = 0;

Scanner keyboard = new Scanner(System.in);
System.out.print("Enter Quizzes: ");
System.out.println("");
Q1 = keyboard.nextDouble();
Q2 = keyboard.nextDouble();
Q3 = keyboard.nextDouble();
Q4 = keyboard.nextDouble();
Q5 = keyboard.nextDouble();
keyboard.close();

average = (Q1 + Q2 + Q3 + Q4 + Q5) / 5;
System.out.println("Average Score is: " + average);

if (Q1 <= Q2 && Q1 <= Q3 && Q1 <= Q4 && Q1 <= Q5) {
lowest = Q1;
} else if (Q2 <= Q1 && Q2 <= Q3 && Q2 <= Q4 && Q2 <= Q5) {
lowest = Q2;
} else if (Q3 <= Q1 && Q3 <= Q2 && Q3 <= Q4 && Q3 <= Q5) {
lowest = Q3;
} else if (Q4 <= Q1 && Q4 <= Q2 && Q4 <= Q3 && Q4 <= Q5) {
lowest = Q4;
} else if (Q5 <= Q1 && Q5 <= Q2 && Q5 <= Q3 && Q5 <= Q4) {
lowest = Q5;
}

System.out.println("The lowest score is: " + lowest);
// THEN DO SIMILAR TO GET HIGHEST SCORE
}
}

关于java - 用户输入的总分、平均分、最低分和最高分(条件控制结构),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32464628/

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