下面是我遇到问题的代码可以正常编译并运行,但是当我使用选项 1)init 在 joptionpane 框中输入信息并尝试使用选项 2) listinformation 显示它时,它会弹出“没有学生输入”的错误.
我想要它做的是列出所有学生、 gpas 和需要 jOptionPane.showMessageDialog
请帮忙。
import javax.swing.JOptionPane;
public class Test {
public static void main (String[] args) {
String[] firstname = new String[1000];
String[] lastname = new String[1000];
double[] gpa = new double[1000];
int[] award = new int[1000];
int awardsum = 0;
boolean[] need = new boolean[1000];
int numStudent = 0;
double classaverage;
int schtotal = 0;
String choice = "";
while (!choice.equals("4")) {
choice = getMenuChoice ();
if(choice.equals("1")){
init(firstname,lastname, gpa, need, numStudent);
}else if(choice.equals("2")){
listinformation(firstname, lastname, gpa, need, numStudent);
}else if(choice.equals("3")){
total(schtotal,award, numStudent);
}
}
}//main
public static int init (String[] firstname, String[] lastname, double[] gpa, boolean[] need, int count){
do {
firstname[count] = JOptionPane.showInputDialog("First name?");
lastname[count] = JOptionPane.showInputDialog("Last name?");
gpa[count] = Double.parseDouble(JOptionPane.showInputDialog("Gp a; Input as X.XX"));
need[count] = Boolean.parseBoolean(JOptionPane.showInputDialog(" Financial need? ;True or False"));
count++;
}while (JOptionPane.showConfirmDialog(null,"Add another student?")==JOptionPane.YES_OPTION);
return count;
}//init
public static int[] awardcal(int awardsum, int[] award, double[] gpa, boolean[] need, int count){
if (count > 0){
for (int index = 0; index < count; index++){
if(gpa[index] == 4.0){
awardsum = awardsum + 1000;
award[index] = award[index] + awardsum;
}
}
}return award;
}
public static int total(int schtotal,int[]award, int count){
for(int index = 0; index < count; index ++){
schtotal = schtotal + award[index];
}
JOptionPane.showMessageDialog(null, schtotal);
return schtotal;
}
public static void listinformation(String[] firstname, String[] lastname, double[] gpa, boolean[] need, int count){
String output = "";
if (count > 0){
for (int index = 0; index < count; index++) {
output += firstname[index] + " " + lastname[index] + " " + gpa[index] + " " + need[index] + "\n";
}
}else output = "No students entered";
JOptionPane.showMessageDialog(null, output);
}
public static String getMenuChoice () {
String menu = "1) Add Student Information\n2)View info for all students\n3)Total scholarships awarded\n4) Exit";
String inputValue = JOptionPane.showInputDialog(menu);
return inputValue;
} // getMenuChoice()
}//class