




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、定义一个Student类,拥有姓名和托福成绩属性,编写一个程序,完成以下操作:(15分)(1)把下列学生对象存放在一个链表中,姓名和托福成绩如下所示: 姓名:“张小明”,“刘志强”,“李云环”,“孙志华”,“唐德凯”,“杜天”,“张禹”托福成绩:86,91,72,86,84,82,86(2)输入一个新的学生对象,包含姓名和托福成绩,将新学生的托福成绩与链表对象进行对比,然后输出相同托福成绩的学生姓名,具体显示结果如下所示:新学生王琳的托福成绩(86)与下列学生:张小明(86)孙志华(86)张禹(86)的托福成绩相同import java.util.LinkedList;import java.util.Scanner;public class T1 public static void main(String args) LinkedList LList = new LinkedList();LList.add(new Student(张小明, 86);LList.add(new Student(刘志强, 91);LList.add(new Student(李云环, 72);LList.add(new Student(孙志华, 86);LList.add(new Student(唐德凯, 82);LList.add(new Student(杜天, 84);LList.add(new Student(张禹, 86);Student StuArr = new StudentLList.size();StuArr = LList.toArray(StuArr);System.out.println(请输入新同学的姓名和托福成绩,例如:“小明明86”);Scanner CIN = new Scanner(System.in);String str = CIN.nextLine();int score = Integer.parseInt(str.substring(str.length() - 2);String name = str.substring(0, str.length() - 2);System.out.println(新同学 + name + 的托福成绩 + score + 与下列同学的分数相同);for (int i = 0; i LList.size(); i+) if (score = LList.get(i).score)System.out.println(LList.get(i).name + ( + LList.get(i).score + ); class Student public Student(String n, int s) name = n;score = s; String name; int score;2、 使用 Java 的应用编程接口,编写一个程序,实现显示当前日期和时间,并显示当月日历的效果。在日历显示中,当前日期后加“*”突出,具体显示结果如下图所示:(15分)import java.awt.BorderLayout;import java.awt.Font;import java.awt.GridLayout;import java.util.Calendar;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class T2 implements Runnable int NowYear, NowMonth, NowDay, NowHour, NowMinute, NowSecond; JFrame frm = new JFrame(); JPanel pan1 = new JPanel(); JPanel pan2 = new JPanel(); JPanel pan3 = new JPanel(); JLabel la = new JLabel(); JButton title = new JButton(日), new JButton(一), new JButton(二), new JButton(三), new JButton(四), new JButton(五), new JButton(六) ; JButton but = new JButton67; public MyCalender() new Thread(this).start();/* GUI相关设置 */frm.setSize(480, 580);frm.setLayout(null);frm.setLocationRelativeTo(null);frm.setDefaultCloseOperation(3);la.setFont(new Font(微软雅黑, 1, 15);la.setHorizontalAlignment(JLabel.CENTER);pan1.setBounds(0, 0, 400, 25);pan1.setLayout(new BorderLayout();pan1.add(la);pan2.setBounds(0, 25, 400, 60);pan2.setLayout(new GridLayout(1, 7);pan3.setBounds(0, 85, 400, 375);pan3.setLayout(new GridLayout(6, 7);/* GUI相关设置 */for (int i = 0; i title.length; i+)/ 汉字星期 titlei.setFont(new Font(微软雅黑, 1, 15); pan2.add(titlei);Calendar TCal = Calendar.getInstance();/ 读取系统日期TCal.set(Calendar.DAY_OF_MONTH, 1);/ * 设置TCal的日期为 当前年 当前月的一号/ TCal.set(2024, 1, 15);/ 可通过这个函数修改当前日期,调试用/* 为在JButton数组上填写数字方便且1号不一定是周日,设置的偏移量,偏移量=0 */int offset = 0 - TCal.get(Calendar.DAY_OF_WEEK) + 2;/* 确定当前年、当前月拥有的最大天数 */int MaxDays = judeDays(TCal.get(Calendar.MONTH), TCal.get(Calendar.YEAR);for (int i = 0; i but.length; i+) for (int j = 0; j 0 & offset = MaxDays) butij.setText(offset + );offset+; frm.add(pan1);frm.add(pan2);frm.add(pan3);frm.setVisible(true); public int judeDays(int index, int year) int daysOfMonth = 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ;System.out.println(year);if (year % 4 = 0 & year % 100 != 0) | year % 400 = 0) / 如果是闰年,二月份加一天 daysOfMonth1+;return daysOfMonthindex; public void run() /始终显示系统当前,使用新的Calendar实例while(true) Calendar cal = Calendar.getInstance(); NowYear = cal.get(Calendar.YEAR); NowMonth = cal.get(Calendar.MONTH) + 1; NowDay = cal.get(Calendar.DAY_OF_MONTH); NowHour = cal.get(Calendar.HOUR_OF_DAY); NowMinute = cal.get(Calendar.MINUTE); NowSecond = cal.get(Calendar.SECOND); String NowDate = NowYear + - + NowMonth + - + NowDay + + NowHour + : + NowMinute + : + NowSecond; la.setText(NowDate); try / 没一秒刷新一次日期,如不睡眠,刷新过快Thread.sleep(1000); catch (Exception e) public static void main(String args) new T2(); 3、假设有一数组,包含12个整数,已经按升序排好。请编写一个程序,使其能从指定位置开始的n(0n12)个数按逆序重新排列并输出新的完整数组。例如:原数组为5,9,11,15,16,19,21,32,45,48,72,83,要求把从第5 个数开始的4个数按逆序重新排列,则得到的新组为5,9,11,15,32,21,19,16,45,48,72,83。(15分)import java.util.LinkedList;public class T3 public static void main(String args) Integer startposition = 2;Integer backnum = 4;Integer arr = 5, 9, 11, 15, 16, 19, 21, 32, 45, 48, 72, 83 ;LinkedList LList = new LinkedList();for (int i = 0; i startposition; i-) LList.add(arri);for (int i = startposition + backnum; i arr.length; i+) LList.add(arri);Integer OK = new IntegerLList.size();OK = LList.toArray(OK);for (Integer integer : OK) System.out.print(integer + ); 4、使用RandomAccessFile流,统计给定素材文件“NEWSPAPER.txt”中单词出现的几种情况:1、统计出现的单词的个数2、统计互不相同的单词的个数3、统计每个单词出现的频率,按照高低顺序显示在一个TextArea中:(15分)import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.util.HashSet;import java.util.LinkedList;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextArea;public class T4 implements ActionListener static JFrame frm = new JFrame(); static JTextArea ta = new JTextArea(); static JButton but = new JButton(Open File); public T2() throws IOException but.addActionListener(this);/* 构建GUI */frm.setSize(400, 400);frm.setDefaultCloseOperation(3);frm.setLocationRelativeTo(null);frm.add(ta);frm.add(but, BorderLayout.NORTH);frm.setVisible(true); public void actionPerformed(ActionEvent e) try String ALine; File F1 = new File(NEWSPAPER.txt); RandomAccessFile rAF = new RandomAccessFile(F1, rw); LinkedList LList = new LinkedList(); while(ALine = rAF.readLine() != null) / 将每个单词读取,加入链表LList.add(ALine); String OldArr = new StringLList.size(); OldArr = LList.toArray(OldArr);/ 转换为数组 HashSet hashSet = new HashSet(); for (int i = 0; i LList.size(); i+)hashSet.add(LList.get(i); String NewArr = new StringhashSet.size(); NewArr = hashSet.toArray(NewArr);/ 得到一个可供参考的,不包含重复的单词的新数组 Cstr ObjArr = new CstrNewArr.length; for (int i = 0; i ObjArr.length; i+) / 包裹成对象ObjArri = new Cstr(NewArri); /* 把出现次数封装进time属性 */ for (int i = 0; i NewArr.length; i+)for (int j = 0; j OldArr.length; j+) if (NewArri.equals(OldArrj)ObjArri.times+; for (int i = 0; i ObjArr.length; i+) / 冒泡法对time排序for (int j = i + 1; j ObjArri.times) Cstr temp = ObjArrj;ObjArrj = ObjArri;ObjArri = temp; ta.append(F1.getAbsolutePath() + 中共有 + OldArr.length + 个单词n); ta.append(其中有 + NewArr.length + 个互不相同的单词n); ta.append(按照出现的频率排列:nn); for (int i = 0; i ObjArr.length; i+) ta.append(ObjArri.str + : + ObjArri.times + /12= + ObjArri.times / 12.0 + n); rAF.close(); catch (Exception e2) public static void main(String args) throws IOException new T4(); class Cstr String str; int times = 0; public Cstr(String str) this.str = str; 5、 用 Socket 编程实现客户端读取服务器端对象的交互过程,即客户端将服务器端的文本区(TextArea)对象读取到客户端,并添加到窗口中。需要编程实现2 个程序文件,一个是服务器端程序文件:Server.java,另一个是客户端程序文件:ClientA.java。服务器端程序编译通过后,创建一个ServerSocket在端口4331监听客户请求,等待客户端呼叫,一旦接收到客户端请求,则启动一个新线程,输出一个文本区对象并发送到客户端,客户端接收服务器端传过来的文本区对象,并显示其内容。(20分)(第一个文件Server.java)import java.io.IOException;import java.io.ObjectOutputStream;import .ServerSocket;import .Socket;import javax.swing.JTextArea;public class Server implements Runnable ServerSocket Ssocket; Socket socket; public Server() try Ssocket = new ServerSocket(4331); System.out.println(等待客户端连接); socket = Ssocket.accept(); new Thread(this).start(); catch (IOException e) public void run() try System.out.println(已经连接客户端,正在发送指定对象); ObjectOutputStream OOS = new ObjectOutputStream(socket.getOutputStream(); JTextArea ta = new JTextArea(); ta.setText(Hello KuGou!); OOS.writeObject(ta); OOS.flush(); catch (Exception e) public static void main(String args) new Server(); (第二个文件Client.java)import jav
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业租赁合同模板解析
- 2025年异环磷酰胺项目发展计划
- 设计权转让协议二零二五年
- 低价整屋改造合同标准文本
- 二零二五版酒店婚宴协议合同
- 免责招商合同样本
- 产品代加工合同合同样本
- 个人对公材料合同样本
- 公司扣押员工合同样本
- 桥梁加固施工方案
- 船舶发展史课件
- 2022统计执法资格考试题库(含答案)
- 天然药物研究的回顾与展望课件
- 通信线路工程施工技术规范(新)
- 很全的礼品qq群
- Unit15-The-necklace-reading-公开课一等奖课件-高中英语
- 《贝叶斯统计》课程教学大纲
- Q∕GDW 10202-2021 国家电网有限公司应急指挥中心建设规范
- 审计实施方案模板格式
- (高清版)民用建筑修缮工程施工标准JGJ_T 112-2019
- 工程测量报价单
评论
0/150
提交评论