gpt4 book ai didi

java - 用Java完成一个简单的成绩簿程序,排序和清除功能

转载 作者:行者123 更新时间:2023-11-29 08:55:44 26 4
gpt4 key购买 nike

这是我第一次在这里发布有关堆栈溢出的问题,尽管我过去曾在这里获得过其他答案的帮助。我目前正在完成一项作业,为我的编程类(class)制作成绩簿程序,但遇到了一些问题。

可以在这里找到提示http://bit.ly/1k4osYg

我目前的代码是:

import java.util.*;


public class temp {

static Scanner in = new Scanner(System.in);

public static void main(){
menu();
}

public static void menu(){
int numStudents = 0;
int numQuizzes = 0;
int[][] array = null;
String choice = null;
boolean fFlag = false;
boolean dFlag = false;

while(choice!="q" || choice!="Q"){
System.out.println("Please enter a command.");
choice = in.next();

if(choice=="h" || choice=="H"){
help();
}

else if(choice=="s" || choice=="S"){
setParams(numStudents, numQuizzes);
fFlag = true;
}

else if( choice=="f" || choice=="F"){
if(fFlag){
fillArray(numStudents, numQuizzes, array);
dFlag = true;
}
else{
System.out.println("Please set paramaters before filling the array.");
clear();
}
}

else if(choice=="d" || choice=="D"){
if(dFlag){
displayResults(numStudents, numQuizzes, array);
}
else{
System.out.println("Please fill the array before displaying");
clear();
}
}

else if(choice=="q" | choice=="Q"){

}
else{
System.out.println("Invalid command. Please enter a valid command.");
}
}
}

public static void help(){
System.out.println("S sets paramaters for program operation, etc, etc.");
System.out.println("F fills array, etc, etc.");
System.out.println("D displays results, etc, etc.");
System.out.println("H brings up the help menu, etc, etc.");
System.out.println("Q quits the program, etc, etc.");

clear();

}

public static void setParams(int numStudents, int numQuizzes){
System.out.println("How many students are in the class?");
numStudents = in.nextInt();
while(numStudents > 50 || numStudents < 0){
System.out.println("Please use a number between 0-50.");
numStudents = in.nextInt();
}

System.out.println("How many quizzes are in the class?");
numQuizzes = in.nextInt();

while(numQuizzes > 5 || numQuizzes < 0){
System.out.println("Please use a number between 0-5.");
numQuizzes = in.nextInt();
}

clear();
}

public static void fillArray(int numStudents, int numQuizzes, int[][] array){
Random gen = new Random();
array = new int[numStudents][numQuizzes];

for(int i = 0; i<numStudents; i++){
for(int j = 0; j<numQuizzes; j++){
array[i][j] = gen.nextInt(100);
}
}

System.out.println("Data entry complete...");
clear();

}

public static void displayResults(int numStudents, int numQuizzes, int[][] array){
int[] tempQuiz = new int[numStudents];

for(int i = 0; i < numQuizzes; i++){
for(int j = 0; j < numStudents; j++){
tempQuiz[j] = array[j][i];
}

sort(tempQuiz); //wtf blizz
float average = 0;
for(int k = 0; k < numStudents; k++){
average += tempQuiz[k];
}
average = average/numStudents;

System.out.println("Quiz "+ i+1 +":");
System.out.println("Lowest Grade: "+ tempQuiz[0]);
System.out.println("Highest Grade: "+ tempQuiz[numStudents-1]);
System.out.println("Average Grade: "+ average);
System.out.println("Medium Grade: "+ tempQuiz[(int) numStudents/2]);
System.out.println();
}

System.out.printf("Student ID\t\t");
for(int i = 0; i < numQuizzes; i++){
System.out.printf("Quiz %n\t\t", i+1);
}
System.out.println();

for(int i = 0; i < numStudents; i++){
System.out.printf("%n\t\t", 75678+i);
for(int j = 0; j< numQuizzes; j++){
System.out.printf("%n\t\t", array[i][j]);
}
System.out.println();
}

clear();

}

private static void clear() {
// TODO Auto-generated method stub

}




}

我已经为此工作了四天,但还是卡住了。因此,我们将不胜感激你们所能提供的任何帮助。

另外,作为一个菜鸟问题,是将 GUI 放在同一个类中更好,还是完全编写另一个类?

编辑第一个:今晚我的大脑到处都是嗡嗡声,过去 48 小时内 sleep 不足。我特别需要帮助的是如何整理出每个测验的最高分、每个测验的最低分、每个测验的平均分和每个测验的平均分。

我的另一个担忧与变量有关。我有一个明显的怀疑,当我运行该程序时,它不会正常运行。我是否应该将菜单方法中的变量作为类的变量移动?

我的最后一个问题是我应该为 GUI 使用一个单独的类还是只将其作为此类的一部分包含在内。

最佳答案

你不能这样写main。相反,你应该这样写:

public static void main(String[] args) {

如果你那样做,你最终会得到一个讨厌的异常。我不确定这是否是您的问题。

关于java - 用Java完成一个简单的成绩簿程序,排序和清除功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20343211/

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