问答题

请完成下列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);

【参考答案】

dTol += nt*n2
nCount ++
热门 试题

问答题
下面是一个Applet程序,其功能是在图形用户界面中实现打印任意行数的杨辉三角形,编写一个含有整型形式参数的方法,此方法打印杨辉三角形,打印的行数由形式参数指定。编写Applet程序接受用户输入的整数,作为实际参数传递并调用上面的方法,要求图形用户界面上包含一个文本区作为输入参数的入口,一个带有纵向滚动条的文本面板作为输出打印结果的区域,一个按钮,点击则完成打印。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: import javax.swing.*; import java.awt.*; import java.awt.event.*; * <applet code= exll_3.class width=800 height=400 > < applet> * public class exll_3 extends JApplet private JButton jb = new JButton( OK ); private JTextPane jtp = new JTextPane(); private JTextField itl=new JTextField(8); private int n=15; public void init() jb.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) n=jtf.getText(); jtp.setText( ); for(int i = n-1; i>=0;i--) String s = ; for(int j = 0; j < i; j++) s += ; for(int j = 0; j < n; j++) s + = * ; jtp.setText(s+ n ); ); Container cp = getContentPane(); cp.add(BorderLayout.NORTH,jtf); cp.add(BorderLayout.CENTER,new JScrollPane(jtp)); cp.add(BorderLayout.SOUTH, jb); public static void main(String[] args) ex11_3 obj11_3=new ex11_3(); String str = obj11_3.getClass() .toString(); if(str.indexOf( class ) != -1) str= str.substring(6); JFrame frm = new JFrame(str); frm.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent we) System.exit (0); ); frm.getContentPane().add(obj11_3); frm.setsize(300, 500); frm.setVisible(true); ex11_3.html <HTML> <HEAD> <TITLE>ex11_3< TITLE> < HEAD> <BODY> <applet code= ex11_3.class width=800 height=400 > < applet> < BODY> < HTML>
问答题
_____________________