2017 java期末上机练习

仅供参考!

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

 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 }  

时间: 2024-10-05 06:17:30

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

石家庄XX大学2017年java基础上机考试

石家庄XX大学 2017 年秋季 2016 级本科班期末上机考试试卷(A) 课程名称: JAVA 语言程序设计 任课教师: XXX考试时间: 150 分钟 学号: 姓名: 班级: 考试性质(学生填写):正常考试( )缓考( )补考( )重修( )提前修读( ) 题 号 一 二 三 四 五 六 七 总分 满 分 10 40 50 得 分 阅卷人 试卷说明: 一. 本试卷为 2016 级 JAVA 语言程序设计上机考试试卷: 二. 注意编程规范: (4 分) (1) 通过 Eclipse 添加类的方

java第一次上机感想

第一次上机课,给我第一印象是很混乱,大家就像一个出生的婴儿一样什么都不懂.第一次上机的紧张和懵懂是我们大部分时间都在询问和探索,所以,并没有很好的学习java程序的编辑和运行.当然,大部分时候我们都是在宿舍自己搞程序,但大多数时候不会花太多时间打程序.这次的实验是对第二章的知识的理解和运用,在写作业的过程中我发现有很多都是把书本上的知识点稍微改一下就可以写入程序中了.比如实验一的程序是关于联合编译的,只需把书本上的代码敲入,再在写着“代码”的地方输入System.out.println();在括

java期末考试 8

/**8 * 利用文本框,標籤,按鈕等完成一個界面 * 輸入一個平時成績,一個實驗成績,一個期末成績 * 按照一定的比例自動出現一個綜合成績 **/ import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java

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

原文:http://www.orsoon.com/Mac/155938.html 原文中含有软件下载地址 软件介绍 IntelliJ IDEA 2017 Mac激活版是Mac平台上的一款java开发集成环境,今天和大家分享的是2017.3最新版本,IntelliJ IDEA 2017 mac让您可以顺利编码,让您在Mac电脑上方便快速的进行java开发编程工作,编写,调试,重构,测试统统都能搞定.现为大家带来IntelliJ IDEA 2017 mac破解版,软件内附IntelliJ IDEA

Java程序设计上机作业1

编写一个Java程序,计算半径为3.0的圆周长和面积并输出结果. 注:系统类Math位于java.lang包中,圆周率π可以由Math类的静态属性PI得到,其定义为“public static final double PI = 3.14159265358979323846;”. import java.lang.*; public class Yuan { public static void main(String[] args) { double r = 3.0; double perim

JAVA 期末设计(一)

本次期末是设计的主题是“五子棋” 小组成员:马腾,白伟山,吕锦涛 (一) 五子棋的历史源远流长,操作简单易学,相信很多人都会玩.此次我们设计的五子棋游戏将具有以下特点 1.游戏操作简单,界面友好. 2.界面灵活缩放,可随窗体大小绘制游戏界面. 3.支持游戏悔棋 4.比赛结束有动画效果提示并弹出“是否再来一局”对话框 (二)本程序由两个图片资源包和4个类构成 图片资源包括程序界面图片资源和程序背景图片资源 ChessPanel类构建下棋面板 GoBangModel类负责承载棋盘棋子的数据模型 此部

java期末复习之JSCP题库学习笔记

1.在Java中,类中的静态方法(特别是main方法)不能直接调用非静态方法. 当编写内部类出现这样的编译错误:No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing instance of type E,说明没有可访问的内部类E的实例,必须分配一个合适的内部类E的实例,如x.new A(),x必须是E的实例.或者将该内部类修饰为静态类,这样就能够在静态类中调用该类的

JAVA期末设计第十三周

一.项目完成计划 十三周和十四周完成用户交互界面的设计(1.登陆界面2.订票以及查询界面3.用户管理界面4.退票界面): 十三周完成登陆界面,十四周完成订票以及查询界面,用户管理界面和退票界面 十五周完成登陆界面,订票以及查询界面所关联的内部代码的实现. 十六周完成用户管理界面,退票界面所关联的内部代码的实现. 接下来的几周对程序进行调试改进,优化,对程序进行一个更全面的完善(包括增加一些新功能,剔除无用的功能对出现的bug进行修 复) 二.项目的具体分工 张炳坤负责编写用户交互界面的代码(界面

Java期末设计(十三周)

一.项目完成计划     十三周和十四周完成用户交互界面的设计(1.登陆界面2.订票以及查询界面3.用户管理界面4.退票界面):     十三周完成登陆界面,十四周完成订票以及查询界面,用户管理界面和退票界面     十五周完成登陆界面,订票以及查询界面所关联的内部代码的实现.     十六周完成用户管理界面,退票界面所关联的内部代码的实现.     接下来的几周对程序进行调试改进,优化,对程序进行一个更全面的完善(包括增加一些新功能,剔除无用的功能对出现的bug进行修复) 1 package