gpt4 book ai didi

Java代码编辑

转载 作者:行者123 更新时间:2023-12-01 14:46:35 25 4
gpt4 key购买 nike

救命,我无法让我的程序成功运行。它给我一个错误,有两个输入用于期中分数和期末分数。我无法让它完全运行并弹出适当的结束窗口。我尝试编写一个程序,接受用户的分数并为未知数量的学生显示适当的字母成绩。我的代码如下。

        import javax.swing.*;
public class StudentGrades_Hann{
public static void main (String[] args) {
String input ;
input= JOptionPane.showInputDialog(" Enter Name, \n ID Number,\n Homework Mark, \n Assignment Mark, \n Midterm Mark, \n and Final Mark \n All Entrys Must Be Separated By Commas");

int com;
com= input.indexOf(",");

String name ;
name = input.substring(0,com);

int com2;
com2= input.indexOf(",", com+1);

String idnumber ;
idnumber = input.substring(com+1, com2);

int com3;
com3= input.indexOf(",", com2+1);

String homeworkmark ;
homeworkmark = input.substring(com2+1, com3);

int com4;
com4= input.indexOf(",", com3+1);

String assignmentmark ;
assignmentmark = input.substring(com3+1, com4);

int com5;
com5= input.indexOf(",", com4+1);

String midtermmark ;
midtermmark = input.substring(com4+1, com5);

int com6;
com6= input.indexOf(",", com5+1);

String finalmark ;
finalmark = input.substring(com4+1);

double as ;
as = Double.parseDouble (assignmentmark.trim());

double hw ;
hw = Double.parseDouble (homeworkmark.trim());

double mm ;
mm = Double.parseDouble (midtermmark.trim());



double fm ;
fm = Double.parseDouble (finalmark.trim());

String grade ;

double totalmark ;
totalmark= 0.1*hw+0.1*as+0.3*mm+0.5*fm ;

double mnf ;
mnf= 0.5*fm+0.3*mm ;

if(totalmark < 50 || mnf < 50) {
JOptionPane.showMessageDialog(null,name + idnumber + "Fail") ;
}
else if (totalmark < 85) {
JOptionPane.showMessageDialog(null, name + idnumber + "A") ;
}

else if (totalmark < 75) {
JOptionPane.showMessageDialog(null,name + idnumber + "B") ;
}

else if (totalmark <65) {
JOptionPane.showMessageDialog(null, name + idnumber + "C");
}

else if (totalmark <=50) {
JOptionPane.showMessageDialog(null,name + idnumber + "D") ;
}

else {
JOptionPane.showMessageDialog(null, "Invalid Entry") ;
}

}

}

最佳答案

您没有更新 , 的索引以获取下一个值。

对于第二个值,如果输入是name, 1, 1, 1, 1, 1,它会尝试解析
“1, 1”

使用String.split(","),检查数组中的元素数量是否符合您的预期,然后解析它们,如以下伪代码:

String[] strings = input.split(",");
if (string.length == 6) { //name and 5 values
name = strings[0];
id = strings[1];
...
} else {
//provided values are incorrect
}

`

关于Java代码编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15390512/

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