问答题请完成下列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; ___________________; ____________________; nTolN += n2; if(nCount > 0) jll.setText( 课程数: +nCount); j12.setText( 学分数: +nTolN); jtp-setText(String.valueOf(dTol nTolN)); jtf1.setText( ); jtf2.setText( ); ); cp.add(j11); cp.add(j12); cp.add(jb); cp.add(jtp);