仅供参考!

一、最大值、最小值、平均数

  1. package examination;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5.  
  6. /**
  7. * 1. 从键盘输入10个成绩
  8. * 2. 对这10个数字进行排序并从小到大显示
  9. * 3. 输出最大值和最小值
  10. * 4. 输出平均值
  11. *
  12. */
  13. public class gradeTest
  14. {
  15. public static void main(String[] args)
  16. {
  17. int[] grades = new int[10]; // 10个成绩
  18. float sum = 0; // 10个成绩的和
  19.  
  20. Scanner scan = new Scanner(System.in); // 从键盘接收数据
  21.  
  22. System.out.println("请输入10个整数并以空格分隔:");
  23. // 示例:33 25 13 67 76 85 90 83 99 91
  24. for (int i = 0; i < 10; i++)
  25. {
  26. grades[i] = scan.nextInt(); // 成绩 赋值
  27. sum += grades[i]; // 成绩累加
  28. }
  29.  
  30. scan.close(); // 关闭 Scanner 对象
  31. Arrays.sort(grades); // 升序排序
  32.  
  33. // 遍历排序结果
  34. for (int i = 0; i < grades.length; i++)
  35. {
  36. int j = grades[i];
  37. System.out.print(j + " ");
  38. }
  39. // 输出最大值、最小值、平均数
  40. System.out.println();
  41. System.out.println("最大值:" + grades[grades.length - 1]);
  42. System.out.println("最小值:" + grades[0]);
  43. System.out.println("平均数:" + sum / grades.length);
  44. }
  45.  
  46. }

二、简单GUI测试

要求:

1.用户登录界面 可以通过按钮进入注册界面;

2.注册界面具有跳转到留言板和查看留言功能;

3.留言板内容可以初始化、保存到ly.txt文件

- 登录界面

  1. package examination;
  2.  
  3. import javax.swing.*;
  4. import java.awt.event.ActionListener;
  5. import java.awt.GridLayout;
  6. import java.awt.event.ActionEvent;
  7.  
  8. public class Login extends JFrame
  9. {
  10. JLabel jlUser, jlPwd; //标签
  11. JTextField jtfUsername; //单行文本框
  12. JPasswordField jpfPwd; //密码框
  13.  
  14. JPanel jp1, jp2, jp3; //面板容器
  15. JButton jbtnRegist; //注册按钮
  16.  
  17. public Login()
  18. {
  19. jtfUsername = new JTextField(10); // 创建单行文本框
  20. jpfPwd = new JPasswordField(10); // 创建密码文本框
  21.  
  22. jlUser = new JLabel("用户名"); // 创建标签
  23. jlPwd = new JLabel("密 码"); // 创建标签
  24.  
  25. jbtnRegist = new JButton("注 册"); // 创建“注册”按钮
  26.  
  27. // 监听器:按钮事件
  28. jbtnRegist.addActionListener(new ActionListener()
  29. {
  30. public void actionPerformed(ActionEvent arg0)
  31. {
  32. new Regist();
  33. }
  34. });
  35. // jb2 = new JButton("取消");
  36. jp1 = new JPanel();
  37. jp2 = new JPanel();
  38. jp3 = new JPanel();
  39.  
  40. // 设置 网格 布局
  41. getContentPane().setLayout(new GridLayout(3, 1));
  42.  
  43. // 面板1添加用户名和文本框
  44. jp1.add(jlUser);
  45. jp1.add(jtfUsername);
  46.  
  47. // 面板2添加密码和密码输入框
  48. jp2.add(jlPwd);
  49. jp2.add(jpfPwd);
  50.  
  51. jp3.add(jbtnRegist); // 面板3添加注册按钮
  52.  
  53. // 将三块面板添加到登陆框
  54. getContentPane().add(jp1);
  55. getContentPane().add(jp2);
  56. getContentPane().add(jp3);
  57.  
  58. // 设置显示
  59. this.setVisible(true);
  60. this.setTitle("登录");
  61. this.setSize(300, 200);
  62. this.setLocation(200, 200);
  63.  
  64. // 退出程序
  65. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  66.  
  67. }
  68.  
  69. public static void main(String[] args)
  70. {
  71. new Login();
  72. }
  73. }

- 注册界面

  1. package examination;
  2.  
  3. import javax.swing.*;
  4. import java.awt.event.ActionListener;
  5. import java.io.BufferedReader;
  6. import java.io.FileReader;
  7. import java.io.IOException;
  8. import java.awt.event.ActionEvent;
  9.  
  10. public class Regist extends JFrame
  11. {
  12. JButton jbtnCheck; // “查看留言”按钮
  13. JButton jbtnMessage; // “留言”按钮
  14.  
  15. JPanel jPanel; //面板容器
  16.  
  17. public Regist()
  18. {
  19. jbtnMessage = new JButton("留 言");
  20. jbtnCheck = new JButton("查看留言");
  21.  
  22. // 按钮事件:编辑留言
  23. jbtnMessage.addActionListener(new ActionListener()
  24. {
  25. public void actionPerformed(ActionEvent arg0)
  26. {
  27. new MessageBoard();
  28. }
  29. });
  30. // 按钮事件:查看留言
  31. jbtnCheck.addActionListener(new ActionListener()
  32. {
  33. public void actionPerformed(ActionEvent arg0)
  34. {
  35. String msg = readFile();
  36. // 查看文件中的留言
  37. if (!msg.equals(""))
  38. {
  39. JOptionPane.showMessageDialog(null, msg, "留言板", JOptionPane.INFORMATION_MESSAGE); // 消息提示框
  40. }
  41. else
  42. {
  43. JOptionPane.showMessageDialog(null, "您还没有留言!", "提示", JOptionPane.ERROR_MESSAGE);
  44. }
  45. }
  46. });
  47.  
  48. jPanel = new JPanel();
  49. jPanel.add(jbtnMessage);
  50. jPanel.add(jbtnCheck);
  51.  
  52. getContentPane().add(jPanel);
  53.  
  54. // 设置显示
  55. this.setVisible(true);
  56. this.setTitle("注册");
  57. this.setSize(300, 200);
  58. this.setLocation(220, 200);
  59.  
  60. // 关闭当前窗口:释放本窗口资源,但不退出主程序
  61. this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  62.  
  63. }
  64.  
  65. /**
  66. * 读文件,并返回到字符串
  67. * @return
  68. */
  69. protected static String readFile()
  70. {
  71. String fileName = "./ly.txt"; // 默认读取当前项目下
  72. String msg = ""; //留言内容
  73. try
  74. {
  75. FileReader fr = new FileReader(fileName);
  76. BufferedReader bfr = new BufferedReader(fr);
  77.  
  78. String str = null;
  79. while ((str = bfr.readLine()) != null)
  80. {
  81. msg += str + "\n";
  82. }
  83. bfr.close();
  84. fr.close();
  85.  
  86. } catch (IOException ioException)
  87. {
  88.  
  89. }
  90.  
  91. return msg;
  92. }
  93.  
  94. public static void main(String[] args)
  95. {
  96. new Regist();
  97. }
  98. }

- 留言板界面

  1. package examination;
  2.  
  3. import javax.swing.*;
  4. import java.awt.event.ActionListener;
  5. import java.io.BufferedWriter;
  6. import java.io.FileWriter;
  7. import java.io.IOException;
  8. import java.awt.BorderLayout;
  9. import java.awt.event.ActionEvent;
  10.  
  11. public class MessageBoard extends JFrame
  12. {
  13. JTextArea jTextArea; // 多行文本框
  14. JButton jbtnSave; // “保存”按钮
  15. JPanel jPanel; // 面板容器
  16.  
  17. public MessageBoard()
  18. {
  19. jTextArea = new JTextArea(); // 创建文本编辑区
  20. jTextArea.setLineWrap(true); // 自动换行
  21.  
  22. // 初始化留言文本
  23. String msg = Regist.readFile();
  24. // 查看文件中的留言
  25. if (!msg.equals(""))
  26. {
  27. jTextArea.setText(msg);
  28. }
  29.  
  30. jbtnSave = new JButton("保存留言");
  31.  
  32. // 按钮事件:编辑留言,并保存到目录下为“ly.txt”
  33. jbtnSave.addActionListener(new ActionListener()
  34. {
  35. public void actionPerformed(ActionEvent arg0)
  36. {
  37. saveFile(); // 保存到文件
  38. dispose(); // 关闭当前窗口
  39. }
  40. });
  41.  
  42. // 设置边界布局
  43. getContentPane().setLayout(new BorderLayout());
  44. getContentPane().add(jbtnSave, BorderLayout.SOUTH);
  45. getContentPane().add(jTextArea, BorderLayout.CENTER);
  46.  
  47. // 设置显示
  48. this.setVisible(true);
  49. this.setTitle("留言板");
  50. this.setSize(300, 200);
  51. this.setLocation(240, 200);
  52.  
  53. // 关闭当前窗口:释放本窗口资源,但不退出主程序
  54. this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  55.  
  56. }
  57.  
  58. private void saveFile()
  59. {
  60. String fileName = "./ly.txt"; // 默认保存当前项目下
  61.  
  62. try
  63. {
  64. FileWriter fw = new FileWriter(fileName);
  65. BufferedWriter bfw = new BufferedWriter(fw);
  66. bfw.write(jTextArea.getText(), 0, jTextArea.getText().length());
  67. bfw.flush();
  68. fw.close();
  69.  
  70. JOptionPane.showMessageDialog(null, "留言成功!"); // 消息提示框
  71.  
  72. } catch (IOException ioException)
  73. {
  74. JOptionPane.showMessageDialog(null, "留言失败!", "错误", JOptionPane.ERROR_MESSAGE);
  75. }
  76. }
  77.  
  78. public static void main(String[] args)
  79. {
  80. new MessageBoard();
  81. }
  82. }

三、制作一个提醒器

提示:

1.能够设计一个时间和一个内容,当到了设定时间弹出对话框显示设定内容;

2.可以设置好友生日,到了生日的前一天能够提示“明天是那个好友的生日”

  1. package examination;
  2.  
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.text.DateFormat;
  6. import java.text.SimpleDateFormat;
  7. import java.util.Date;
  8.  
  9. import javax.swing.JFrame;
  10. import javax.swing.JLabel;
  11. import javax.swing.Timer;
  12.  
  13. /**
  14. * 测试swing中Timer的使用
  15. * 一个显示时间的GUI程序
  16. * @author wasw100
  17. *
  18. */
  19. public class TimerTest extends JFrame implements ActionListener {
  20. // 一个显示时间的JLabel
  21. private JLabel jlTime = new JLabel();
  22. private Timer timer;
  23.  
  24. public TimerTest() {
  25. setTitle("Timer测试");
  26. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  27. setSize(180, 80);
  28. add(jlTime);
  29.  
  30. //设置Timer定时器,并启动
  31. timer = new Timer(500, this);
  32. timer.start();
  33. setVisible(true);
  34. }
  35.  
  36. /**
  37. * 执行Timer要执行的部分,
  38. */
  39. @Override
  40. public void actionPerformed(ActionEvent e) {
  41. DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  42. Date date = new Date();
  43. jlTime.setText(format.format(date));
  44.  
  45. }
  46.  
  47. public static void main(String[] args) {
  48. new TimerTest();
  49. }
  50. }

2017 java期末上机练习的更多相关文章

  1. java期末总结

    java期末总结: java语言特点:1.简洁有效 2.可移植性 3.面向对象 4.解释型 5.适合分布式计算 6.拥有较好的性能 7.健壮.防患于未然 8.具有多线程处理能力 9.具有较高的安全性 ...

  2. Java第一次上机实验源代码

    小学生计算题: package 第一次上机实验_; import java.util.*; public class 小学计算题 { public static void main(String[] ...

  3. Mac IntelliJ IDEA 2017(java开发集成环境)附注册码和破解教程 v2017.3.5破解版

    原文:http://www.orsoon.com/Mac/155938.html 原文中含有软件下载地址 软件介绍 IntelliJ IDEA 2017 Mac激活版是Mac平台上的一款java开发集 ...

  4. 2016级算法期末上机-H.难题·AlvinZH's Fight with DDLs III

    1119 AlvinZH's Fight with DDLs III 思路 难题,最小点覆盖. 分析题意,某一个任务,既可以在笔记本A的 \(a\) 模式下完成,也可以在笔记本B的 \(b\) 模式下 ...

  5. 2016级算法期末上机-D.简单·AlvinZH's Fight with DDLs I

    1117 AlvinZH's Fight with DDLs I 思路 简单题,动态规划. 本题与期末练习赛B题很相似,而且更为简单些.简化问题:在数字序列上取数,不能取相邻的数. DP数组定义,dp ...

  6. java期末课程总结

    期末课程总结 转眼间,这个学期就要过去了,我们Java的学习也接近了尾声,回想到这个学期刚开始接触到Java的时候,感觉什么都不懂,但现在似乎有了门路,不会载懵懵懂懂, 虽然本学期面向对象与Java程 ...

  7. Java期末考试冲刺总结

    经过长达将近三个小时的冲刺,我感觉身心俱疲,但它无法掩盖我敲代码的欲望! 三个小时我只实现了公文流转系统的的部分功能. 我深刻的意识到建民老师说的这套关系之复杂,它真的是太复杂了!!!没有系统的梳理, ...

  8. Java期末设计(十三周)

    一.项目完成计划     十三周和十四周完成用户交互界面的设计(1.登陆界面2.订票以及查询界面3.用户管理界面4.退票界面):     十三周完成登陆界面,十四周完成订票以及查询界面,用户管理界面和 ...

  9. JAVA期末设计第十三周

    一.项目完成计划 十三周和十四周完成用户交互界面的设计(1.登陆界面2.订票以及查询界面3.用户管理界面4.退票界面): 十三周完成登陆界面,十四周完成订票以及查询界面,用户管理界面和退票界面 十五周 ...

随机推荐

  1. 键盘event.which属性

    IE中,只有keyCode属性,而FireFox中有which和charCode属性 event.which属性对DOM原生的event.keyCode和event.charCode进行了标准化. f ...

  2. 高中生的IT之路-1.5西餐厅服务生

    之所以说漫长的求职,是因为培训结束后半年左右没有找到工作. 每次面试结束后,得到的都是“回去等消息”,然后就杳无音信了.一次次的面试,一次次的失败,一次次查找失败的原因.总结来看主要有两点:一是没有工 ...

  3. 代码片段,使用TIKA来解析PDF,WORD和EMAIL

    /** * com.jiaoyiping.pdstest.TestTika.java * Copyright (c) 2009 Hewlett-Packard Development Company, ...

  4. ios 使用ASIHTTPRequest来检查版本更新

    - (void) alertWithTitle: (NSString *)_title_ msg:(NSString *)msg delegate:(id)_delegate cancelButton ...

  5. 微信小程序 --- Image组件

    Image组件可以在小程序中展示图片,支持外链. Image组件可以调用API,进行三种缩放,九种裁剪. Image组件有默认值:300*225 属性: src:图片资源地址. mode:图片裁剪缩放 ...

  6. 摄像头的管理(camera) ---- HTML5+

    模块:camera Camera模块管理设备的摄像头,可用于拍照.摄像操作,通过plus.camera获取摄像头管理对象. 应用场景:保存自拍,保存照片,上传照片,保存视频,上传视频: 通过之前的模块 ...

  7. LISTAGG

    LISTAGG(measure_expr [, 'delimiter']) WITHIN GROUP (order_by_clause) [OVER query_partition_clause] S ...

  8. HDU 1403 Eight&POJ 1077(康拖,A* ,BFS,双广)

    Eight Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  9. Oracle SQL开发 之 Select语句完整的执行顺序

    查询语句语法: Select 属性 From 表 Where 条件 Group by 分组条件 Having 分组选择条件 Order by 排序条件 1.from子句组装来自不同数据源的数据: 2. ...

  10. Ora-1157 ora-1110错误解决案例一枚

    1.数据库打开报错如下: SQL> alter database open; alter database open * ERROR at line 1: ORA-01157: cannot i ...