第六届全国信息技术应用水平大赛Java组复赛A卷试题答案

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

姓名   学号  成绩

赵好民 9012  80.0

钱小青 9013  90.0

孙力枚 9014  78.0

周左右 9015  55.0

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

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

我是左手线程

我是左手线程

我是左手线程

我是左手线程

我是主线程

我是主线程

我是右手线程

我是右手线程

我是右手线程

我是右手线程

我是主线程

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

附加题:

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

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

 
 
T1:

package Six;

import java.util.Iterator;
import java.util.LinkedList;

public class A1 {

 public static void main(String[] args) {
  LinkedList<Stu> list = new LinkedList<Stu>();
  list.add(new Stu("赵好民", 9012, 80.0));
  list.add(new Stu("钱小青", 9013, 90.0));
  list.add(new Stu("孙力枚", 9014, 78.0));
  list.add(new Stu("周左右", 9015, 55.0));
  System.out.println("姓名\t学号\t成绩");
  Iterator<Stu> it = list.iterator();
  while (it.hasNext()) {
   System.out.println(it.next());
  }

 }
}

class Stu {
 String name;
 int number;
 double score;

 public Stu(String name, int number, double score) {
  this.name = name;
  this.number = number;
  this.score = score;
 }

 public String toString() {
  return name + "\t" + number + "\t" + score;
 }

}

 
 
T2:

package Six;

public class A2 {
 public static void main(String[] args) {
  System.out.println("100以内的所有素数如下:");
  sushu(100);
 }

 private static void sushu(int n) {
  int num = 2;
  while (num < n) {
   boolean bool = true;
   int sqrt = (int) Math.sqrt(num);
   for (int j = 2; j <= sqrt; j++) {

    if (num % j == 0) {
     bool = false;
     break;
    }

   }
   if (bool)
    System.out.print(num + " ");
   num++;

  }

 }

}

 
 
 
T3:

package Six;
public class A3{
 public static void main(String[]args) throws InterruptedException{
  Left left=new Left();
  Right right=new Right();
  left.start();
  left.join();
  for(int i=0;i<3;i++){
   if(i==2){
    right.start();
    right.join();
   }
   System.out.println("我是主线程");
  }
 }
 
}
class Left extends Thread{
 public void run(){
  for(int i=0;i<4;i++)
   System.out.println("我是左手线程");
 }
}

class Right extends Thread{
 public void run(){
  for(int i=0;i<4;i++)
   System.out.println("我是右手线程");
 }
}

 
 
 
T4:

package Six;

import java.io.File;
import java.io.IOException;

public class A4 {
 public static void main(String[] args) throws IOException {
  File file = new File("D:" + File.separator + "test");
  File[] files = file.listFiles();
  if (files.length != 0) {
   showDir(files);
  } else {
   file = new File("D:" + file.separator + "test" + file.separator
     + "a.txt");
   if (file.createNewFile()) {
    System.out.println("成功创建文件a.txt");
    files = file.getParentFile().listFiles();
    showDir(files);
   } else
    System.out.println("文件a.txt创建失败");
  }
 }

 public static void showDir(File[] files) {

  System.out.println("目录如下:");
  for (File f : files) {
   if (f.isDirectory())
    System.out.println(f.getName());
  }
  System.out.println("\n文件如下:");
  for (File f : files) {
   if (f.isFile())
    System.out.println(f.getName());
  }
 }

}
 

 
 
T5:
TCPClient-->

package Six;

import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import java.net.UnknownHostException;

public class TCPClient {
 public static void main(String[] args) throws UnknownHostException,
   IOException {
  Socket client = new Socket("127.0.0.1", 4700);
  System.out.println("成功连接服务正在获取服务器的时间...");
  InputStream is = client.getInputStream();
  byte b[] = new byte[1024];
  while (is.read(b) != -1)
   System.out.println("成功获取服务器时间" + new String(b));

 }

}

 
TCPServer-->

package Six;

import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;

public class TCPServer {
 public static void main(String[] args) throws IOException {
  ServerSocket server = new ServerSocket(4700);
  Socket socket = server.accept();
  OutputStream fos = socket.getOutputStream();
  String date = new Date().toLocaleString();
  fos.write(date.getBytes());
  fos.close();
 }

}

 
 
 
T6:

 

public class SixthA6 {

 public static void main(String[] args) {

  TwoDimensional td = new TwoDimensional(2,2);
  String rowName[] = {"用户","密码"};
  String colName[] = {"张三","李四"};
  String content[][] = {{"user1","12345"},{"user2","12345"}};
  int shape = 1;
  String tableName = "用户系统";
  
  td.setColName(colName);
  td.setContent(content);
  td.setRowName(rowName);
  td.setShape(shape);
  td.setTableName(tableName);
  td.drawTable();
  
 }

}

class TwoDimensional {
 private String tableName;
 private String rowName[];
 private String colName[];
 private String content[][];
 private int rowNum;
 private int colNum;
 private int shape;

 public TwoDimensional(int rowNum, int colNum) {

  this.rowNum = rowNum;
  this.colNum = colNum;
  rowName = new String[rowNum];
  colName = new String[colNum];
  content = new String[rowNum + 1][colNum + 1];
  content[0][0] = "表格";
 }

 public String getTableName() {
  return tableName;
 }

 public void setTableName(String tableName) {
  this.tableName = tableName;
 }

 public String[] getRowName() {
  return rowName;
 }

 public void setRowName(String[] rowName) {
  this.rowName = rowName;
  for (int i = 0; i < rowNum; i++)
   this.content[i + 1][0] = rowName[i];
 }

 public String[] getColName() {
  return colName;
 }

 public void setColName(String[] colName) {
  this.colName = colName;
  for (int i = 0; i < colNum; i++)
   this.content[0][i + 1] = colName[i];
 }

 public String[][] getContent() {
  return content;
 }

 public void setContent(String[][] content) {
  for (int i = 0; i < rowNum; i++) {
   for (int j = 0; j < colNum; j++) {
    this.content[i + 1][j + 1] = content[i][j];
   }
  }
 }

 public int getShape() {
  return shape;
 }

 public void setShape(int shape) {
  this.shape = shape;
 }

 public void drawTable() {
  if (shape == 1) {
   System.out.println(tableName);
   for (int i = 0; i <= rowNum; i++) {
    for (int j = 0; j <= colNum; j++)
     System.out.printf("%-8s",content[i][j]);
    System.out.println();
   }
  }

 }
}

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值