个人学分计算小软件0.1--使用对象在校大学生
2014-02-28 22:30
357 查看
//这是在学习Java程序设计时的一个简单的学分计算器。有兴趣的同学可以将源码粘下来,继续编写适合自己学校的学分计算器。
import java.awt.*;
import java.awt.event.*;
public class CulFrame
{
private Frame f;
private Label lscore,lcredit, lscale,lallscore;
private Button breset,bload,ballload,ballreset;
private Panel p1,p2,p3,p4,p5,p6;
private TextField tfscore,tfcredit,tfscale,tfallscore;
private float sum = 0;
private float sumscore = 0;
public static void main(String[] args)
{
new CulFrame();
}
CulFrame( )
{
init();
}
public void init()
{
f = new Frame("学分计算器");
lscore = new Label("成绩:");
lcredit = new Label("学分:");
lscale = new Label("所占比例:");
lallscore = new Label("个人总学分:");
breset = new Button ("重置 ");
bload = new Button ("载入 ");
ballload = new Button("已全部载入");
ballreset = new Button("复位");
p1 = new Panel();
p2 = new Panel();
p3 = new Panel();
p4 = new Panel();
p5 = new Panel();
p6 = new Panel();
tfscore = new TextField(10);
tfcredit = new TextField(10);
tfscale = new TextField(10);
tfallscore = new TextField(10);
p1.add(lscore);
p1.add(tfscore);
p1.add(lcredit);
p1.add(tfcredit);
p2.add(breset);
p2.add(bload);
p3.add(lscale);
p3.add(tfscale);
p4.add(ballload);
p4.add(ballreset);
p5.add(lallscore);
p5.add(tfallscore);
f.setBounds(400, 300, 320, 200);
f.add(p1);
f.add(p2);
f.add(p3);
f.add(p4);
f.add(p5);
f.setLayout(new FlowLayout());
//f.add(p3,BorderLayout.CENTER);
myEvent();
f.setVisible(true);
}
public void myEvent()
{
f.addWindowListener(new WindowAdapter() //关闭窗口的监听
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
breset.addMouseListener(new MouseAdapter() //鼠标监听重置
{
public void mouseClicked(MouseEvent e)
{
reset();
}
});
breset.addKeyListener(new KeyAdapter()//键入回车执行重置
{
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()== e.VK_ENTER)
{
reset();
}
}
});
ballreset.addMouseListener(new MouseAdapter()//鼠标监听复位
{
public void mouseClicked(MouseEvent e)
{
allreset();
}
});
tfscore.addKeyListener( new KeyAdapter()
{
public void keyPressed(KeyEvent e)//要使用按下某个键时,使用。
{
int code = e.getKeyCode();
if(!(code>=KeyEvent.VK_0 && code<=KeyEvent.VK_9 ) && code != KeyEvent.VK_PERIOD)
{
System.out.println("非法的字符!");
e.consume();
}
}
});
tfcredit.addKeyListener( new KeyAdapter()
{
public void keyPressed(KeyEvent e)//要使用按下某个键时,使用。
{
int code = e.getKeyCode();
if(!(code>=KeyEvent.VK_0 && code<=KeyEvent.VK_9 ) && code != KeyEvent.VK_PERIOD)
{
System.out.println("非法的字符!");
e.consume();
}
}
});
tfscale.addKeyListener( new KeyAdapter()
{
public void keyPressed(KeyEvent e)//要使用按下某个键时,使用。
{
int code = e.getKeyCode();
if(!(code>=KeyEvent.VK_0 && code<=KeyEvent.VK_9 ) && code != KeyEvent.VK_PERIOD)
{
System.out.println("非法的字符!");
e.consume();
}
}
});
bload.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
calculate();
}
});
bload.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
calculate();
}
});
bload.addKeyListener(new KeyAdapter()//键入回车执行
{
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()== e.VK_ENTER)
{
calculate();
}
}
});
ballload.addKeyListener(new KeyAdapter()//键入回车执行
{
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()== e.VK_ENTER)
{
total();
}
}
});
ballload.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
total();
}
});
}
public void reset()//重置学分和成绩
{
tfscore.setText(" ");
tfcredit.setText(" ");
}
public void allreset()//复位的方法
{
tfscore.setText(" ");
tfcredit.setText(" ");
tfscale.setText(" ");
tfallscore.setText(" ");
sum = 0;
}
public void calculate() {
//System.out.printf("sum = %.3f\n",sum);
//
//System.out.printf("sumscore = %.3f\n",sumscore);
float credit = 0,score = 0;
try {
//System.out.println("Clicked bload!");
String str_tfscore = tfscore.getText();
if(str_tfscore != null) {
//System.out.println(str_tfscore);
score = Float.parseFloat(str_tfscore);
//System.out.printf("score = %.3f\n",score);
}
//System.out.println("Clicked bload! --tfscore");
String str_tfcredit = tfcredit.getText();
if(str_tfcredit != null ) {
//System.out.println(str_tfcredit);
credit = Float.parseFloat(str_tfcredit);
//System.out.printf("credit = %.3f\n",credit);
}
tfscore.setText(" ");
tfcredit.setText(" ");
//System.out.printf("%.3f\n",sum);
sum += score*credit;
sumscore += credit;
//System.out.printf("sum = %.3f\n",sum);
//System.out.printf("sumscore = %.3f\n", sumscore);
} catch(NumberFormatException e1) {
System.out.println("空字符串异常!");
// e1.printStackTrace();
}
}
public void total() {
try
{
String strscale = null;
if((strscale = tfscale.getText()) != null)
{
float scale = Float.parseFloat(strscale );
if(sumscore != 0)
{
//System.out.printf("sumscore = %.3f\n",sumscore);
sum/=sumscore;
//System.out.printf("sum = %.3f\n",sum);
sum*=scale;
//System.out.printf("sum = %.3f",sum);
}
tfallscore.setText(String.valueOf(sum));
}
} catch(NumberFormatException e1)
{
// System.out.println("比例异常");
e1.printStackTrace();
}
}
}
import java.awt.*;
import java.awt.event.*;
public class CulFrame
{
private Frame f;
private Label lscore,lcredit, lscale,lallscore;
private Button breset,bload,ballload,ballreset;
private Panel p1,p2,p3,p4,p5,p6;
private TextField tfscore,tfcredit,tfscale,tfallscore;
private float sum = 0;
private float sumscore = 0;
public static void main(String[] args)
{
new CulFrame();
}
CulFrame( )
{
init();
}
public void init()
{
f = new Frame("学分计算器");
lscore = new Label("成绩:");
lcredit = new Label("学分:");
lscale = new Label("所占比例:");
lallscore = new Label("个人总学分:");
breset = new Button ("重置 ");
bload = new Button ("载入 ");
ballload = new Button("已全部载入");
ballreset = new Button("复位");
p1 = new Panel();
p2 = new Panel();
p3 = new Panel();
p4 = new Panel();
p5 = new Panel();
p6 = new Panel();
tfscore = new TextField(10);
tfcredit = new TextField(10);
tfscale = new TextField(10);
tfallscore = new TextField(10);
p1.add(lscore);
p1.add(tfscore);
p1.add(lcredit);
p1.add(tfcredit);
p2.add(breset);
p2.add(bload);
p3.add(lscale);
p3.add(tfscale);
p4.add(ballload);
p4.add(ballreset);
p5.add(lallscore);
p5.add(tfallscore);
f.setBounds(400, 300, 320, 200);
f.add(p1);
f.add(p2);
f.add(p3);
f.add(p4);
f.add(p5);
f.setLayout(new FlowLayout());
//f.add(p3,BorderLayout.CENTER);
myEvent();
f.setVisible(true);
}
public void myEvent()
{
f.addWindowListener(new WindowAdapter() //关闭窗口的监听
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
breset.addMouseListener(new MouseAdapter() //鼠标监听重置
{
public void mouseClicked(MouseEvent e)
{
reset();
}
});
breset.addKeyListener(new KeyAdapter()//键入回车执行重置
{
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()== e.VK_ENTER)
{
reset();
}
}
});
ballreset.addMouseListener(new MouseAdapter()//鼠标监听复位
{
public void mouseClicked(MouseEvent e)
{
allreset();
}
});
tfscore.addKeyListener( new KeyAdapter()
{
public void keyPressed(KeyEvent e)//要使用按下某个键时,使用。
{
int code = e.getKeyCode();
if(!(code>=KeyEvent.VK_0 && code<=KeyEvent.VK_9 ) && code != KeyEvent.VK_PERIOD)
{
System.out.println("非法的字符!");
e.consume();
}
}
});
tfcredit.addKeyListener( new KeyAdapter()
{
public void keyPressed(KeyEvent e)//要使用按下某个键时,使用。
{
int code = e.getKeyCode();
if(!(code>=KeyEvent.VK_0 && code<=KeyEvent.VK_9 ) && code != KeyEvent.VK_PERIOD)
{
System.out.println("非法的字符!");
e.consume();
}
}
});
tfscale.addKeyListener( new KeyAdapter()
{
public void keyPressed(KeyEvent e)//要使用按下某个键时,使用。
{
int code = e.getKeyCode();
if(!(code>=KeyEvent.VK_0 && code<=KeyEvent.VK_9 ) && code != KeyEvent.VK_PERIOD)
{
System.out.println("非法的字符!");
e.consume();
}
}
});
bload.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
calculate();
}
});
bload.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
calculate();
}
});
bload.addKeyListener(new KeyAdapter()//键入回车执行
{
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()== e.VK_ENTER)
{
calculate();
}
}
});
ballload.addKeyListener(new KeyAdapter()//键入回车执行
{
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()== e.VK_ENTER)
{
total();
}
}
});
ballload.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
total();
}
});
}
public void reset()//重置学分和成绩
{
tfscore.setText(" ");
tfcredit.setText(" ");
}
public void allreset()//复位的方法
{
tfscore.setText(" ");
tfcredit.setText(" ");
tfscale.setText(" ");
tfallscore.setText(" ");
sum = 0;
}
public void calculate() {
//System.out.printf("sum = %.3f\n",sum);
//
//System.out.printf("sumscore = %.3f\n",sumscore);
float credit = 0,score = 0;
try {
//System.out.println("Clicked bload!");
String str_tfscore = tfscore.getText();
if(str_tfscore != null) {
//System.out.println(str_tfscore);
score = Float.parseFloat(str_tfscore);
//System.out.printf("score = %.3f\n",score);
}
//System.out.println("Clicked bload! --tfscore");
String str_tfcredit = tfcredit.getText();
if(str_tfcredit != null ) {
//System.out.println(str_tfcredit);
credit = Float.parseFloat(str_tfcredit);
//System.out.printf("credit = %.3f\n",credit);
}
tfscore.setText(" ");
tfcredit.setText(" ");
//System.out.printf("%.3f\n",sum);
sum += score*credit;
sumscore += credit;
//System.out.printf("sum = %.3f\n",sum);
//System.out.printf("sumscore = %.3f\n", sumscore);
} catch(NumberFormatException e1) {
System.out.println("空字符串异常!");
// e1.printStackTrace();
}
}
public void total() {
try
{
String strscale = null;
if((strscale = tfscale.getText()) != null)
{
float scale = Float.parseFloat(strscale );
if(sumscore != 0)
{
//System.out.printf("sumscore = %.3f\n",sumscore);
sum/=sumscore;
//System.out.printf("sum = %.3f\n",sum);
sum*=scale;
//System.out.printf("sum = %.3f",sum);
}
tfallscore.setText(String.valueOf(sum));
}
} catch(NumberFormatException e1)
{
// System.out.println("比例异常");
e1.printStackTrace();
}
}
}
相关文章推荐
- [转]9款适合大学生使用的个人知识管理(PKM)工具软件
- 使用不同方法查找数组中某个特定值(对象),并计算时间(个人练习)
- JAVA内存使用--如何计算一个Java对象占用的字节数
- JAVA内存使用--如何计算一个Java对象占用的字节数
- 写博客免费使用在线思维导图软件MindV个人版
- 使用计算总内存大小的方法确定jvm中为对象分配的存储空间大小
- windows 重装系统后必装的软件(根据个人使用情况整理,欢迎读者在评论推荐其他好用的软件)
- 大学生工作前最好学会使用的7款软件
- 个人整理使用的软件
- 使用对象-关系映射(ORM)系统中间件提升软件开发效率及质量(转)
- 十二、对象的使用(一) static成员变量、static成员函数、类/对象大小计算
- 发布“个人知识库管理v2.0”软件,欢迎下载使用
- JAVA内存使用--如何计算一个Java对象占用的字节数
- windows 重装系统后必装的软件(根据个人使用情况整理,欢迎读者在评论推荐其他好用的软件)
- 软件专业在校大学生慎接项目
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象 - lady-奕奕的个人空间 - 开源中国社区
- 浮点数类型计算问题,bigDecimal对象构造函数尽量使用字符串参数
- JAVA内存使用--如何计算一个Java对象占用的字节数
- 使用对象-关系映射(ORM)系统中间件提升软件开发效率及质量
- 个人开发与日常使用装机必备软件、常用配置