JAVA编程,满意追加50
1).个人学分绩点计算程序 (难度:易)用于计算一个学生的某个学年的n门课程的学年的平均学分绩点。提供窗口界面(JFrame),能够输入每门课程的名称、分数、学分,点击“计算”按钮,然后在界面上会显示一个学年的平均绩点。80~89分折合为3.0~3.9绩点,良好折合为3.5绩点;
70~79分折合为2.0~2.9绩点,中等折合为2.5绩点;
60~69分折合为1.0~1.9绩点,及格折合为1.5绩点;
59分以下(不及格)折合为0绩点。
(注:90分折合为4.0绩点,91 分折合为4.1绩点,其余类推)。一学年的平均学分绩点=该学年修全部课程的学分绩点之和÷所修课程的总学分。
追问:你好,我把你的程序放在Net Beans7.0.1中运行有一个错误,还有很多警告,能否帮忙解决一下呢?
答案:package shaco.d20111026;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Q1 extends JFrame{
List<course> store = new ArrayList<course>();
JLabel course = new JLabel("课程");
JLabel score = new JLabel("分数");
JLabel unit = new JLabel("学分");
JTextField c_n = new JTextField(20);
JTextField c_s = new JTextField(20);
JTextField c_u = new JTextField(20);
JButton js = new JButton("计算");
JButton sr = new JButton("输入完成继续输入");
JButton sw = new JButton("浏览");
JTextArea result = new JTextArea();
private void clear(){
c_n.setText("");
c_s.setText("");
c_u.setText("");
}
public Q1(){
super("课程绩点计算");
this.setLayout(new FlowLayout());
this.add(course);
this.add(c_n);
this.add(score);
this.add(c_s);
this.add(unit);
this.add(c_u);
this.add(sr);
this.add(js);
this.add(sw);
result.setSize(290, 100);
sw.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
StringBuffer sb = new StringBuffer();
sb.append("课程名\t"+"分数\t"+"学分\t\n");
for(course c :store){
if(c.getScore()<60){
c.setGpa(0);
}else{
c.setGpa((c.getScore()-60)/10.0+1);
}
sb.append(c.getName()+"\t"+c.getScore()+"\t"+c.getUnit()+"\n");
}
result.setText("");
result.setText(sb.toString());
}
});
sr.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
String g_n = c_n.getText().trim();
try{
int g_s = Integer.parseInt(c_s.getText().trim());
int g_u = Integer.parseInt(c_u.getText().trim());
if(g_s <0 || g_s > 100) throw new Exception();
if(g_u <=0)throw new Exception();
course c = new course(g_n,g_s,g_u);
store.add(c);
clear();
result.setText("");
result.setText("输入信息正确");
}catch(Exception ex){
result.setText("");
result.setText("输入数据错误");
clear();
}
}
});
js.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
StringBuffer sb = new StringBuffer();
sb.append("课程名\t"+"分数\t"+"绩点\t\n");
double sum = 0;
double sum_u=0;
for(course c :store){
if(c.getScore()<60){
c.setGpa(0);
}else{
c.setGpa((c.getScore()-60)/10.0+1);
}
sb.append(c.getName()+"\t"+c.getScore()+"\t"+c.getGpa()+"\n");
sum += c.getGpa();
sum_u+=c.getUnit();
}
double avg_gpa = sum / sum_u;
sb.append("平均学分绩点为:\t"+avg_gpa+"\n");
result.setText("");
result.setText(sb.toString());
}
});
this.add(result);
this.setSize(290, 300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Q1();
}
}
class course{
private String name;
private int score;
private int unit;
private double gpa;
public double getGpa() {
return gpa;
}
public void setGpa(double gpa) {
this.gpa = gpa;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
&
上一个:java 编程问题 写出程序
下一个:求几个java项目