第六届全国信息技术应用水平大赛-A卷 Java程序设计试题及程序代码实现

更新时间:2023-07-20 19:01:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第六届全国信息技术应用水平大赛-A卷 Java程序设计试题及程序代码实现

第六届全国信息技术应用水平大赛复赛试题

Java程序设计(A卷)

1. 迭代器(Iterator)提供了一种通用的方式来访问集合中的元素。编写一个程序把学生的成绩放在一个链表中,使用迭代器实现遍历链表并显示结果,具体显示结果如下所示。(25分)

姓名 学号 成绩

赵好名 9012 80.0

钱小青 9013 90.0

孙力枚 9014 78.0

周左右 9015 55.0

代码:

第六届全国信息技术应用水平大赛-A卷 Java程序设计试题及程序代码实现

2. 素数又称为质数,它的定义是:只能被1和被自己整除的整数(其中,1不是素数)。编写程序打印出100以内的所有素数。(25分)

代码:

第六届全国信息技术应用水平大赛-A卷 Java程序设计试题及程序代码实现

3. 编写使用继承Thread类定义一个线程类,模拟左右手轮流写字,程序执行结果如下所示。(25分)

我是左手线程

我是左手线程

我是左手线程

我是左手线程

我是主线程

我是主线程

我是右手线程

我是右手线程

我是右手线程

我是右手线程

我是主线程

代码:

第六届全国信息技术应用水平大赛-A卷 Java程序设计试题及程序代码实现

4. 目录和文件时磁盘树形结构中最基本的组成单元,Java用File类来统一表示它们,并通过File类来完成目录和文件的创建、删除、查询等操作。手工创建d:\test文件夹,编写一个Java程序,遍历“d:\test”文件夹,如果文件夹为空,则创建一个新文件a.txt,并把此文件的名称打印出来;如果文件夹不为空,那么将该文件夹下的文件和目录遍历以后,按照目录和文件类型,分类把目录名称和文件名分称打印出来。(25)

代码:

第六届全国信息技术应用水平大赛-A卷 Java程序设计试题及程序代码实现

import import import import

java.io.File; java.io.IOException; java.util.ArrayList; java.util.List;

public class T4 { public static void main(String[] args) { File dir = new File("d:\\test"); dir.mkdirs(); File[] list = dir.listFiles(); if (list.length == 0) { File file = new File(dir, "a.txt"); try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } System.out.println(file.getName()); } else { List<File> files = new ArrayList<File>(); List<File> dirs = new ArrayList<File>(); for (File f : list) { if (f.isFile()) { files.add(f); } else if (f.isDirectory()) { dirs.add(f); } } System.out.println("----- 文件名称为 -----"); for (File f : files) { System.out.println(f.getName()); } System.out.println(); System.out.println("----- 目录名称为 -----"); for (File d : dirs) { System.out.println(d.getName()); } } } }

第六届全国信息技术应用水平大赛-A卷 Java程序设计试题及程序代码实现

附加题:

5. 用Socket编程实现客户端和服务器交互的过程,包括一个服务器程序文件:TCPServerA.java和一个客户端程序文件:TCPClientA.java。TCPServerA创建一个ServerSocket在端口4700监听客户端请求,并把服务器端的时间发送到客户端,客户端接收服务器端传过来的时间,显示后结束。(25分)

代码:

第六届全国信息技术应用水平大赛-A卷 Java程序设计试题及程序代码实现

so.close(); } catch (Exception e) { } } if (ss != null) { try { ss.close(); } catch (Exception e) { } } } } public static void main(String[] args) { new TCPServerA().start(); } } import import import import import java.io.InputStream; java.io.ObjectInputStream; .Socket; java.text.SimpleDateFormat; java.util.Date;

public class TCPClientA { public void start() { Socket so = null; ObjectInputStream ois = null; try { so = new Socket("127.0.0.1", 4700); InputStream in = so.getInputStream(); ois = new ObjectInputStream(in); Date date = (Date) ois.readObject(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy 年 MM 月 dd 日 hh:mm:ss"); String time = sdf.format(date); System.out.println(time); } catch (Exception e) { e.printStackTrace(); } finally { if (ois != null) { try { ois.close();

第六届全国信息技术应用水平大赛-A卷 Java程序设计试题及程序代码实现

6. 设计一个二维表格类TwoDimensional.java,其中包括能够反映二维表格特征的属性(表名、行头名、列头名、行数、列数、表框线型等)与操作行为,然后再设计一个测试类T6.java,检测二维表格类的使用情况。要求能过根据创建的二维表格对象属性画出二维表格。(25分)

代码:

第六届全国信息技术应用水平大赛-A卷 Java程序设计试题及程序代码实现

// 线性,默认是实线 Shape shape = Shape.LINE; // 构造方法 public TwoDimensional(int rowCount, int columCount) { this.rowCount = rowCount; this.columCount = rowCount; content = new String[rowCount][columCount]; rowName = new String[rowCount]; columName = new String[columCount]; init(); } // 初始化 private void init() { for (int i = 0; i < content.length; i++) { for (int j = 0; j < content[i].length; j++) { content[i][j] = ""; } } for (int i = 0; i < rowName.length; i++) { rowName[i] = ""; } for (int i = 0; i < columName.length; i++) { columName[i] = ""; } } // 设置内容 public void setContent(int rowNum, int columNum, String elementContent) { content[rowNum][columNum] = elementContent; } // 设置行头名 public void setRowName(int rowNum, String name) { rowName[rowNum] = name; } // 设置列头名 public void setColumName(int columNum, String name) { columName[columNum] = name; }

第六届全国信息技术应用水平大赛-A卷 Java程序设计试题及程序代码实现

// 设置表名 public void setTableName(String tableName) { this.tableName = tableName; } public void setShape(Shape shape) { this.shape = shape; } // 打印表格 public void drawTable() { System.out.println(" " + tableName); if (shape == Shape.LINE) { drawOne(); } } // 按实线画表格 public void drawOne() { for (int i = 0; i <= columCount; i++) { System.out.print("--------"); } System.out.println("-"); System.out.print("| |"); for (int i = 0; i < columCount; i++) { System.out.format("%-7s",columName[i]); System.out.print("|"); } System.out.println(); for (int i = 0; i <= columCount; i++) { System.out.print("--------"); } System.out.println("-"); for (int i = 0; i < rowCount; i++) { System.out.print("|"); System.out.format("%-7s",rowName[i]); System.out.print("|"); for (int j = 0; j < columCount; j++) { System.out.format("%-7s",content[i][j]); System.out.print("|"); } System.out.println(); for (int k = 0; k <= columCount; k++) {

第六届全国信息技术应用水平大赛-A卷 Java程序设计试题及程序代码实现

System.out.print("--------"); } System.out.println("-"); } } public String getTableName() { return tableName; } public String[] getRowName() { return rowName; } public String[] getColumName() { return columName; } public int getRowCount() { return rowCount; } public int getColumCount() { return columCount; } public String[]

[] getContent() { return content; } } enum Shape { LINE; } public class T6 { public static void main(String[] args) { TwoDimensional td = new TwoDimensional(3, 3); td.setTableName("二维表格"); td.setColumName(0, "col1"); td.setColumName(1, "col2"); td.setColumName(2, "col3"); td.setRowName(0, "row1");

第六届全国信息技术应用水平大赛-A卷 Java程序设计试题及程序代码实现

td.setRowName(1, "row2"); td.setRowName(2, "row3"); td.setContent(0, 0, "1"); td.setContent(0, 1, "2"); td.setContent(0, 2, "3"); td.setContent(1, 0, "4"); td.setContent(1, 1, "5"); td.setContent(1, 2, "6"); td.setContent(2, 0, "7"); td.setContent(2, 1, "8"); td.setContent(2, 2, "9"); td.setShape(Shape.LINE); td.drawTable(); } }

本文来源:https://www.bwwdw.com/article/q631.html

Top