2017 java期末上机练习
仅供参考!
一、最大值、最小值、平均数
- package examination;
- import java.util.Arrays;
- import java.util.Scanner;
- /**
- * 1. 从键盘输入10个成绩
- * 2. 对这10个数字进行排序并从小到大显示
- * 3. 输出最大值和最小值
- * 4. 输出平均值
- *
- */
- public class gradeTest
- {
- public static void main(String[] args)
- {
- int[] grades = new int[10]; // 10个成绩
- float sum = 0; // 10个成绩的和
- Scanner scan = new Scanner(System.in); // 从键盘接收数据
- System.out.println("请输入10个整数并以空格分隔:");
- // 示例:33 25 13 67 76 85 90 83 99 91
- for (int i = 0; i < 10; i++)
- {
- grades[i] = scan.nextInt(); // 成绩 赋值
- sum += grades[i]; // 成绩累加
- }
- scan.close(); // 关闭 Scanner 对象
- Arrays.sort(grades); // 升序排序
- // 遍历排序结果
- for (int i = 0; i < grades.length; i++)
- {
- int j = grades[i];
- System.out.print(j + " ");
- }
- // 输出最大值、最小值、平均数
- System.out.println();
- System.out.println("最大值:" + grades[grades.length - 1]);
- System.out.println("最小值:" + grades[0]);
- System.out.println("平均数:" + sum / grades.length);
- }
- }
二、简单GUI测试
要求:
1.用户登录界面 可以通过按钮进入注册界面;
2.注册界面具有跳转到留言板和查看留言功能;
3.留言板内容可以初始化、保存到ly.txt文件
- 登录界面
- package examination;
- import javax.swing.*;
- import java.awt.event.ActionListener;
- import java.awt.GridLayout;
- import java.awt.event.ActionEvent;
- public class Login extends JFrame
- {
- JLabel jlUser, jlPwd; //标签
- JTextField jtfUsername; //单行文本框
- JPasswordField jpfPwd; //密码框
- JPanel jp1, jp2, jp3; //面板容器
- JButton jbtnRegist; //注册按钮
- public Login()
- {
- jtfUsername = new JTextField(10); // 创建单行文本框
- jpfPwd = new JPasswordField(10); // 创建密码文本框
- jlUser = new JLabel("用户名"); // 创建标签
- jlPwd = new JLabel("密 码"); // 创建标签
- jbtnRegist = new JButton("注 册"); // 创建“注册”按钮
- // 监听器:按钮事件
- jbtnRegist.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent arg0)
- {
- new Regist();
- }
- });
- // jb2 = new JButton("取消");
- jp1 = new JPanel();
- jp2 = new JPanel();
- jp3 = new JPanel();
- // 设置 网格 布局
- getContentPane().setLayout(new GridLayout(3, 1));
- // 面板1添加用户名和文本框
- jp1.add(jlUser);
- jp1.add(jtfUsername);
- // 面板2添加密码和密码输入框
- jp2.add(jlPwd);
- jp2.add(jpfPwd);
- jp3.add(jbtnRegist); // 面板3添加注册按钮
- // 将三块面板添加到登陆框
- getContentPane().add(jp1);
- getContentPane().add(jp2);
- getContentPane().add(jp3);
- // 设置显示
- this.setVisible(true);
- this.setTitle("登录");
- this.setSize(300, 200);
- this.setLocation(200, 200);
- // 退出程序
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public static void main(String[] args)
- {
- new Login();
- }
- }
- 注册界面
- package examination;
- import javax.swing.*;
- import java.awt.event.ActionListener;
- import java.io.BufferedReader;
- import java.io.FileReader;
- import java.io.IOException;
- import java.awt.event.ActionEvent;
- public class Regist extends JFrame
- {
- JButton jbtnCheck; // “查看留言”按钮
- JButton jbtnMessage; // “留言”按钮
- JPanel jPanel; //面板容器
- public Regist()
- {
- jbtnMessage = new JButton("留 言");
- jbtnCheck = new JButton("查看留言");
- // 按钮事件:编辑留言
- jbtnMessage.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent arg0)
- {
- new MessageBoard();
- }
- });
- // 按钮事件:查看留言
- jbtnCheck.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent arg0)
- {
- String msg = readFile();
- // 查看文件中的留言
- if (!msg.equals(""))
- {
- JOptionPane.showMessageDialog(null, msg, "留言板", JOptionPane.INFORMATION_MESSAGE); // 消息提示框
- }
- else
- {
- JOptionPane.showMessageDialog(null, "您还没有留言!", "提示", JOptionPane.ERROR_MESSAGE);
- }
- }
- });
- jPanel = new JPanel();
- jPanel.add(jbtnMessage);
- jPanel.add(jbtnCheck);
- getContentPane().add(jPanel);
- // 设置显示
- this.setVisible(true);
- this.setTitle("注册");
- this.setSize(300, 200);
- this.setLocation(220, 200);
- // 关闭当前窗口:释放本窗口资源,但不退出主程序
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
- }
- /**
- * 读文件,并返回到字符串
- * @return
- */
- protected static String readFile()
- {
- String fileName = "./ly.txt"; // 默认读取当前项目下
- String msg = ""; //留言内容
- try
- {
- FileReader fr = new FileReader(fileName);
- BufferedReader bfr = new BufferedReader(fr);
- String str = null;
- while ((str = bfr.readLine()) != null)
- {
- msg += str + "\n";
- }
- bfr.close();
- fr.close();
- } catch (IOException ioException)
- {
- }
- return msg;
- }
- public static void main(String[] args)
- {
- new Regist();
- }
- }
- 留言板界面
- package examination;
- import javax.swing.*;
- import java.awt.event.ActionListener;
- import java.io.BufferedWriter;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.awt.BorderLayout;
- import java.awt.event.ActionEvent;
- public class MessageBoard extends JFrame
- {
- JTextArea jTextArea; // 多行文本框
- JButton jbtnSave; // “保存”按钮
- JPanel jPanel; // 面板容器
- public MessageBoard()
- {
- jTextArea = new JTextArea(); // 创建文本编辑区
- jTextArea.setLineWrap(true); // 自动换行
- // 初始化留言文本
- String msg = Regist.readFile();
- // 查看文件中的留言
- if (!msg.equals(""))
- {
- jTextArea.setText(msg);
- }
- jbtnSave = new JButton("保存留言");
- // 按钮事件:编辑留言,并保存到目录下为“ly.txt”
- jbtnSave.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent arg0)
- {
- saveFile(); // 保存到文件
- dispose(); // 关闭当前窗口
- }
- });
- // 设置边界布局
- getContentPane().setLayout(new BorderLayout());
- getContentPane().add(jbtnSave, BorderLayout.SOUTH);
- getContentPane().add(jTextArea, BorderLayout.CENTER);
- // 设置显示
- this.setVisible(true);
- this.setTitle("留言板");
- this.setSize(300, 200);
- this.setLocation(240, 200);
- // 关闭当前窗口:释放本窗口资源,但不退出主程序
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
- }
- private void saveFile()
- {
- String fileName = "./ly.txt"; // 默认保存当前项目下
- try
- {
- FileWriter fw = new FileWriter(fileName);
- BufferedWriter bfw = new BufferedWriter(fw);
- bfw.write(jTextArea.getText(), 0, jTextArea.getText().length());
- bfw.flush();
- fw.close();
- JOptionPane.showMessageDialog(null, "留言成功!"); // 消息提示框
- } catch (IOException ioException)
- {
- JOptionPane.showMessageDialog(null, "留言失败!", "错误", JOptionPane.ERROR_MESSAGE);
- }
- }
- public static void main(String[] args)
- {
- new MessageBoard();
- }
- }
三、制作一个提醒器
提示:
1.能够设计一个时间和一个内容,当到了设定时间弹出对话框显示设定内容;
2.可以设置好友生日,到了生日的前一天能够提示“明天是那个好友的生日”
- package examination;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.Timer;
- /**
- * 测试swing中Timer的使用
- * 一个显示时间的GUI程序
- * @author wasw100
- *
- */
- public class TimerTest extends JFrame implements ActionListener {
- // 一个显示时间的JLabel
- private JLabel jlTime = new JLabel();
- private Timer timer;
- public TimerTest() {
- setTitle("Timer测试");
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setSize(180, 80);
- add(jlTime);
- //设置Timer定时器,并启动
- timer = new Timer(500, this);
- timer.start();
- setVisible(true);
- }
- /**
- * 执行Timer要执行的部分,
- */
- @Override
- public void actionPerformed(ActionEvent e) {
- DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date date = new Date();
- jlTime.setText(format.format(date));
- }
- public static void main(String[] args) {
- new TimerTest();
- }
- }
2017 java期末上机练习的更多相关文章
- java期末总结
java期末总结: java语言特点:1.简洁有效 2.可移植性 3.面向对象 4.解释型 5.适合分布式计算 6.拥有较好的性能 7.健壮.防患于未然 8.具有多线程处理能力 9.具有较高的安全性 ...
- Java第一次上机实验源代码
小学生计算题: package 第一次上机实验_; import java.util.*; public class 小学计算题 { public static void main(String[] ...
- Mac IntelliJ IDEA 2017(java开发集成环境)附注册码和破解教程 v2017.3.5破解版
原文:http://www.orsoon.com/Mac/155938.html 原文中含有软件下载地址 软件介绍 IntelliJ IDEA 2017 Mac激活版是Mac平台上的一款java开发集 ...
- 2016级算法期末上机-H.难题·AlvinZH's Fight with DDLs III
1119 AlvinZH's Fight with DDLs III 思路 难题,最小点覆盖. 分析题意,某一个任务,既可以在笔记本A的 \(a\) 模式下完成,也可以在笔记本B的 \(b\) 模式下 ...
- 2016级算法期末上机-D.简单·AlvinZH's Fight with DDLs I
1117 AlvinZH's Fight with DDLs I 思路 简单题,动态规划. 本题与期末练习赛B题很相似,而且更为简单些.简化问题:在数字序列上取数,不能取相邻的数. DP数组定义,dp ...
- java期末课程总结
期末课程总结 转眼间,这个学期就要过去了,我们Java的学习也接近了尾声,回想到这个学期刚开始接触到Java的时候,感觉什么都不懂,但现在似乎有了门路,不会载懵懵懂懂, 虽然本学期面向对象与Java程 ...
- Java期末考试冲刺总结
经过长达将近三个小时的冲刺,我感觉身心俱疲,但它无法掩盖我敲代码的欲望! 三个小时我只实现了公文流转系统的的部分功能. 我深刻的意识到建民老师说的这套关系之复杂,它真的是太复杂了!!!没有系统的梳理, ...
- Java期末设计(十三周)
一.项目完成计划 十三周和十四周完成用户交互界面的设计(1.登陆界面2.订票以及查询界面3.用户管理界面4.退票界面): 十三周完成登陆界面,十四周完成订票以及查询界面,用户管理界面和 ...
- JAVA期末设计第十三周
一.项目完成计划 十三周和十四周完成用户交互界面的设计(1.登陆界面2.订票以及查询界面3.用户管理界面4.退票界面): 十三周完成登陆界面,十四周完成订票以及查询界面,用户管理界面和退票界面 十五周 ...
随机推荐
- 键盘event.which属性
IE中,只有keyCode属性,而FireFox中有which和charCode属性 event.which属性对DOM原生的event.keyCode和event.charCode进行了标准化. f ...
- 高中生的IT之路-1.5西餐厅服务生
之所以说漫长的求职,是因为培训结束后半年左右没有找到工作. 每次面试结束后,得到的都是“回去等消息”,然后就杳无音信了.一次次的面试,一次次的失败,一次次查找失败的原因.总结来看主要有两点:一是没有工 ...
- 代码片段,使用TIKA来解析PDF,WORD和EMAIL
/** * com.jiaoyiping.pdstest.TestTika.java * Copyright (c) 2009 Hewlett-Packard Development Company, ...
- ios 使用ASIHTTPRequest来检查版本更新
- (void) alertWithTitle: (NSString *)_title_ msg:(NSString *)msg delegate:(id)_delegate cancelButton ...
- 微信小程序 --- Image组件
Image组件可以在小程序中展示图片,支持外链. Image组件可以调用API,进行三种缩放,九种裁剪. Image组件有默认值:300*225 属性: src:图片资源地址. mode:图片裁剪缩放 ...
- 摄像头的管理(camera) ---- HTML5+
模块:camera Camera模块管理设备的摄像头,可用于拍照.摄像操作,通过plus.camera获取摄像头管理对象. 应用场景:保存自拍,保存照片,上传照片,保存视频,上传视频: 通过之前的模块 ...
- LISTAGG
LISTAGG(measure_expr [, 'delimiter']) WITHIN GROUP (order_by_clause) [OVER query_partition_clause] S ...
- HDU 1403 Eight&POJ 1077(康拖,A* ,BFS,双广)
Eight Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- Oracle SQL开发 之 Select语句完整的执行顺序
查询语句语法: Select 属性 From 表 Where 条件 Group by 分组条件 Having 分组选择条件 Order by 排序条件 1.from子句组装来自不同数据源的数据: 2. ...
- Ora-1157 ora-1110错误解决案例一枚
1.数据库打开报错如下: SQL> alter database open; alter database open * ERROR at line 1: ORA-01157: cannot i ...