开学刚刚一个月,学习Java也已经有三周。

老师给了下面的实验题目:

某教师需要一个学生成绩计算应用程序。每个学生总评成绩是由平时成绩、期中成绩、期末成绩 和其它成绩组成,其所占比例为:平时成绩30%,期中成绩30%、期末成绩40%,其它成绩为附加成 绩,不能超过10分,是直接添加到上述三项成绩计算的结果中。

目的是:

1.熟悉Java应用程序结构。

2.熟悉伪代码的使用。

3.熟悉使用if控制语句。

4.熟悉使用运算符。

5.熟悉事件处理类的编写方法

首先,简单画下流程图(当然,这些图是我画的,不知有误没有)。

接下来就是伪代码了,伪代码就是用通俗的语言表述代码:

开始

输入成绩:平时成绩,期中成绩,期末成绩,其它成绩

判断平时成绩,期中成绩,期末成绩在0到100之间,其他成绩在0到10之间

计算

输出

这样就行了吧。

下面呢就是示例代码了。

示例代码package me.shage.eleven.first;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.text.DecimalFormat;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JTextField;

import me.shage.eleven.first.ElevenInventory.Btn_Click;

public class Results extends JFrame{

private JTextField txtUsually;

private JTextField txtInterim;

private JTextField txtFinal;

private JTextField txtOther;

private JTextField txtSum;

private JButton btnCal;

public Results()

{

this.setLayout(null);

JLabel lbU=new JLabel("平时成绩");

lbU.setBounds(20, 10, 60, 21);

this.add(lbU);

txtUsually=new JTextField("0");

txtUsually.setBounds(80, 10, 25, 21);

this.add(txtUsually);

JLabel lbI=new JLabel("期中成绩");

lbI.setBounds(110, 10, 60, 21);

this.add(lbI);

txtInterim=new JTextField("0");

txtInterim.setBounds(170, 10, 25, 21);

this.add(txtInterim);

JLabel lbF=new JLabel("期末成绩");

lbF.setBounds(200, 10, 60, 21);

this.add(lbF);

txtFinal=new JTextField("0");

txtFinal.setBounds(260, 10, 25, 21);

this.add(txtFinal);

JLabel lbO=new JLabel("其它成绩");

lbO.setBounds(290, 10, 60, 21);

this.add(lbO);

txtOther=new JTextField("0");

txtOther.setBounds(350, 10, 25, 21);

this.add(txtOther);

JLabel lbS=new JLabel("总成绩");

lbS.setBounds(20, 35, 60, 21);

this.add(lbS);

txtSum=new JTextField("0");

txtSum.setBounds(80, 35, 40, 21);

this.add(txtSum);

btnCal=new JButton("计算");

btnCal.setBounds(300, 35, 60, 21);

this.add(btnCal);

btnCal.addActionListener(new Btn_Click());

this.setSize(420, 112);

this.setVisible(true);

}

class Btn_Click implements ActionListener

{

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

double sumResults;

double usuallyResults;

double interimResults;

double finalResults;

double otherResults;

usuallyResults=Double.valueOf(txtUsually.getText());

interimResults=Double.valueOf(txtInterim.getText());

finalResults=Double.valueOf(txtFinal.getText());

otherResults=Double.valueOf(txtOther.getText());

if(usuallyResults>100||usuallyResults<0)

{

JOptionPane.showMessageDialog(null, "平时成绩无效,请重新输入有效分数!");

}

else if(interimResults>100||interimResults<0)

{

JOptionPane.showMessageDialog(null, "期中成绩无效,请重新输入有效分数!");

}

else if(finalResults>100||finalResults<0)

{

JOptionPane.showMessageDialog(null, "期末成绩无效,请重新输入有效分数!");

}

else if(otherResults>10||otherResults<0)

{

JOptionPane.showMessageDialog(null, "其它成绩不能大于10分,请重新输入有效分数!");

}

else

{

sumResults=usuallyResults*0.3+interimResults*0.3+finalResults*0.4+otherResults;

DecimalFormat sum = new DecimalFormat("0.0");//保留一位小数

txtSum.setText(String.valueOf(sum.format(sumResults)));

}

}

}

}

java程序伪代码_Java学习笔记——伪代码及程序控制相关推荐

  1. Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  2. 第一个java程序释义_Java 学习之路(1)第一个Java程序

    Hello World程序 在编程语言的世界里,第一个编程语言估计就是输出Hello World了吧. /** * 编写第一个Java程序,输出Hello World! * @author LJS * ...

  3. java 字符串赋值_Java 学习笔记(二)变量

    标识符  标识符就是名字.类名,变量名,方法名,参数名等  标识符的命名规则  以字母.下划线或美元符号$开头,不能以数字开头 其后可以是字母.数组或美元符号$ 区分大小写 避免使用关键字  ...

  4. JAVA翻译官_Java学习笔记之——Java介绍

    1.Java体系: JavaSE:标准版,其他两个体系的基础 JavaEE:企业版 JavaME:微型版,适用于消费类型的微型设备 2.Java三大特性:封装.继承.多态 3.Java的特点:面向对象 ...

  5. java嵌套循环语句_Java学习笔记(七) 循环语句

    一.for循环语句 1.1 循环结构 循环结构的组成: 初始语句:用于表示循环开启的起始状态,简单说就是循环开始的时候什么样 条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行 ...

  6. java 调用弗雷_JAVA 学习笔记

    封装: 将类的某些信息隐藏在类的内部,不允许外部程序访问,而是通过该类提供的方法实现对隐藏信息的操作和访问,保证了数据的安全性.(可以隐藏类的细节,方便修改) 封装的实现步骤: 1.修改属性的可见性: ...

  7. java日期类型_Java 学习笔记 (三) Java 日期类型

    以下内容摘自:  https://www.cnblogs.com/crazylqy/p/4172324.html import java.sql.Timestamp; import java.text ...

  8. java jcf查看_Java学习笔记——JCF集合框架

    List基本使用 特别是有顺序,所有可以用get(i)读取出来 public static void main(String[] args) { //1.List基本使用 List lst = new ...

  9. java 静态成员 创建_Java学习笔记11---静态成员变量、静态代码块、成员变量及构造方法的初始化或调用顺序...

    当创建一个对象时,各种成员变量及构造方法的初始化或调用顺序是怎样的呢? (1).如果类尚未加载,则先初始化静态成员变量和静态代码块,再初始化成员变量,最后调用相应的构造方法: (2).如果类已经加载过 ...

最新文章

  1. pangolin最新版 v2.5.2.975
  2. bigdecimal 设置_BigDecimal
  3. git的操作说明超详细
  4. java的定时器用法
  5. error 1044 (42000):access denied for user ''@'localhost' to database 'mysql' 解决方法
  6. 面向对象三大特性之一:多态(C++)
  7. python plt.show_解决python中显示图片的plt.imshow plt.show()内存泄漏问题
  8. 吴恩达机器学习 2.矩阵和向量知识
  9. Alfresco安装与配置图解
  10. EasyRecovery帮你一招找回网易云下载的单曲
  11. 双绞线有两种接法:EIA/TIA 568B标准和EIA/TIA 568A标准。具体接法如下:
  12. 不平衡数据分类实证-R语言
  13. node mysql实现登陆注册_使用 NodeJs 链接 mysql 的实现登录与注册
  14. vue中引用echarts设置渐变色new echarts不能用
  15. 最全APP测试思想及流程要点,高薪测试人员一定要看
  16. javaSE探赜索隐之三--<类与对象的爱恨情仇下>
  17. 多维数组(Multi-dimensional Array)
  18. 编程珠玑第二版 ---- 第一章个人习题集(Java)
  19. iPhoneXR过于廉价,iPhoneX或许成为畅销的手机
  20. css之background-attachment属性

热门文章

  1. PKI 技术的意义与应用
  2. windows7 关闭和启用IPV6隧道适配器
  3. 毕业设计java 课程精品网站,java毕业设计_springboot框架的精品课程网站
  4. 国外html响应式网站,8个国外响应式摄影HTML5网站设计欣赏
  5. 西门子编程软件,V16还没上手,最新版本V17已经出来了!
  6. 基于FPGA的波形发生器设计
  7. Arduino开发实例-DIY风速测量及显示
  8. 百度地图官方的定位和方法
  9. java stack 类_Java Stack 类 - Java 教程 - 自强学堂
  10. 为什么需要边缘计算?哪些场景需要边缘计算?