网友您好, 请在下方输入框内输入要搜索的题目:
请完成下列Java程序:实现换算GPA, 对于学生学习的每一门课程,都输入两个数据:考试成绩和学分,考试成绩按如下公式换算:
90~100:5
75~89: 4
60~74: 3
40~59: 2
40以下:1
GPA等于换算后每门课的成绩的学分加权平均值(∑(成绩×学分)/∑学分)。
要求用图形用户界面实现上述功能,用户窗口包括2个文本区域,一个输入成绩,一个输入学分,一个文本面板用作输出GPA的换算结果,一个按钮,点击实现换算。
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
程序运行结果如下:
import java.awt.*;
import java.awt.Event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class exll_2 extends JFrame{
private JTextField jtf1=new JTextField();
private JTextField jtf2=new JTextField();
private JTextPane jtp=new JTextPane();
private JButton jb=new JButton("增加");
private JLabel jll=new JLabel("课程数: ");
private JLabel j12=new JLabe1("学分数: ");
double dTol=0;
int nTolN=0, nCount=0;
public static void main(String[] args) {
exll_2 frm=new exll_2();
frm.setTitle("GPA");
frm.pack();
frm.setVisible(true);
frm.addWindowListener(new WindowAdapter()
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
}
public exll_2()
Container cp=getContentPane();
cp.setLayout(new GridLayout(4,2));
cp.add(new JLabel("成绩"));
cp.add(jtf1);
cp.add(new JLabel("学分"));
cp.add(jtf2);
jb.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent ae)
int n1, n2,nt;
n1= Integer.parseInt(jtf1.getText());
n2 = Integer.parseInt(jtf2.getText());
if(n1 <= 100 && nl >= 0){
if( n1 >= 90)
nt = 5;
else if(n1 >= 75)
nt = 4;
else if(n1 >= 60)
nt = 3;
else if( n1 >= 40)
nt = 2;
else
nt = 1;
___________________;
&
参考答案