一、任务要求

  • 0 在Ubuntu中用自己的有位学号建一个文件,教材p402代码
  • 1 修改代码,至少增加一个问题和答案
  • 2 随机选多个问题中的一个进行提问,服务器要正确回答问题
  • 3 提交运行结果截图,要把所有问题都运行到。

二、源代码

  • 添加的内容

    添加的问题:"提交本次测试的时间是几月几号?"

    添加的回答:"提交本次测试的时间是2019年5月13日"

  • Client.java

import java.io.*;
import java.net.*;
import java.util.Random; public class Client {
public static void main(String args[]) {
String [] mess ={"2010世界杯在哪举行?","巴西进入世界杯了码?","中国进入世界杯了码?","提交本次测试的时间是几月几号?"};
Socket mysocket;
DataInputStream in=null;
DataOutputStream out=null;
int i = (int) (Math.random() * 4 + 0);
try{ mysocket=new Socket("127.0.0.1",2010);
in=new DataInputStream(mysocket.getInputStream());
out=new DataOutputStream(mysocket.getOutputStream());
//for(int i=0;i<mess.length;i++) {
out.writeUTF(i+"");//传特定的随机值给Server类
out.writeUTF(mess[i]);
String s=in.readUTF(); //in读取信息,堵塞状态
System.out.println("客户收到服务器的回答:"+s);
Thread.sleep(500);
//}
}
catch(Exception e) {
System.out.println("服务器已断开"+e);
}
}
}
  • Server.java
import java.io.*;
import java.net.*;
import java.util.Random; import static java.lang.Integer.parseInt; public class Server {
public static void main(String args[]) {
String[] answer = {"南非", "进入世界杯了", "哈哈...问题真逗!", "提交本次测试的时间是2019年5月13日"};
ServerSocket serverForClient = null;
Socket socketOnServer = null;
DataOutputStream out = null;
DataInputStream in = null; try {
serverForClient = new ServerSocket(2010);
} catch (IOException e1) {
System.out.println(e1);
}
try {
System.out.println("等待客户呼叫");
socketOnServer = serverForClient.accept(); //堵塞状态,除非有客户呼叫
out = new DataOutputStream(socketOnServer.getOutputStream());
in = new DataInputStream(socketOnServer.getInputStream());
//for(int i=0;i<answer.length;i++) {
String s1 = in.readUTF();
int i = parseInt(s1);
String s = in.readUTF(); // in读取信息,堵塞状态
System.out.println("服务器收到客户的提问:" + s); out.writeUTF(answer[i]);
Thread.sleep(500);
//}
} catch (Exception e) {
System.out.println("客户已断开" + e);
}
}
}

三、运行截图

  • 1.问题1

    • 问题:

    • 回答:

  • 2.问题2

    • 问题:

    • 回答:

  • 3.问题3

    • 问题:

    • 回答:

  • 4.问题4

    • 问题:

    • 答案:

SP.码云链接

教材代码完成情况测试P402(ch13课上测试)的更多相关文章

  1. 教材代码完成情况测试P171(课上测试)

    一.任务详情 0 在Ubuntu中用自己的有位学号建一个文件,教材p171 Example7_7 增加一个类DangerException2, 显示"超轻"异常,超轻的阈值minC ...

  2. 教材代码完成情况测试P186(课上测试)

    一.任务详情 0 在Ubuntu中用自己的有位学号建一个文件,教材p186 Example8_8 1.修改p186 Example8_8中代码,密钥password不用手动输入,使用Random产生随 ...

  3. 20165223《信息安全系统设计基础》第九周学习总结 & 第八周课上测试

    目录 [第九周学习总结] 教材内容总结 [第八周课上测试] (一)求命令行传入整数参数的和 (二)练习Y86-64模拟器汇编 (三)基于socket实现daytime(13)服务器和客户端 参考资料 ...

  4. 第六周课上测试-3-ch02补充作业

    实验要求: 编写一个程序 "week0603学号.c",运行下面代码: short int v = -学号后四位 unsigned short uv = (unsigned sho ...

  5. 2018-2019-1 20165330 《信息安全系统设计基础》第六周课上测试ch02&课下作业

    课上测试 测试-3-ch02 任务详情 编写一个程序 "week0203学号.c",运行下面代码: 1 short int v = -学号后四位 2 unsigned short ...

  6. 第六周课上测试-1-ch02

    第六周课上测试-1-ch02 1. 要求: 1.参考附图代码,编写一个程序 "week0601学号.c",判断一下你的电脑是大端还是小端. 2. 提交运行结果"学号XXX ...

  7. Bag类的接口的实现与测试(课上测试补做)

    Bag类的接口的实现与测试(课上测试补做) 截图 由于截图有一定的的限制就没有吧所有的代码截进去,后面有代码. 代码 package ClassTest; import java.util.Objec ...

  8. 20165305 苏振龙《Java程序设计》第八周课上测试补做

    1. 下载附件中的world.sql.zip, 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB,导入world.sql,提交导入成功截图 2. ...

  9. 20165221-week2课上测试补做

    week2-课上测试补做 测试一: 参考附图代码,编写一个程序 "week0201学号.c",判断一下你的电脑是大端还是小端. 提交运行结果"学号XXXX的笔记本电脑是X ...

随机推荐

  1. vue之scoped穿透

    vue之scoped穿透 问题:在页面中,需要了第三方插件的样式,又不想取消scoped,防止造成样式污染 方法:>>> 代码: #tab >>> .ivu-tab ...

  2. celery:强大的定时任务模块

    什么是celery 还是一个老生常谈的话题,假设用户注册,首先注册信息入库,然后要调用验证码服务接口,然后根据手机号发送验证码,最后再返回响应给浏览器.但显然调用接口.发送验证码之后成功再给浏览器响应 ...

  3. selenium:能够模拟人类打开浏览器的爬虫利器

    介绍 selenium相当于是一个机器人,可以模拟人类登陆浏览器的行为,比如点击.填充数据.删除cookie等等.Chromedriver是一个驱动Chrome的程序,使用它才可以驱动浏览器,其实Ch ...

  4. LNMP安装与配置之Python3

    环境 我们是在CentOS7下安装python3,但CentOS已经默认安装了Python2,而 Yum 等工具依赖原来的Python2.所以我们需要稍作配置让Python2与Python3可以共存. ...

  5. SDK更新失败问题解决

    环境:1. win102. Have over fire wall 解决办法:1.启动 Android SDK Manager ,打开主界面,依次选择「Tools」.「Options...」,弹出『A ...

  6. C#形参和实参、引用类型和值类型使用时的一个注意点。

    这是早上群里讨论的例子. static void main(string [] arg){ var p1=new Person{Name="张三"}; var p2=new Per ...

  7. LeetCode 01 两数之和

    链接:https://leetcode-cn.com/problems/two-sum 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们 ...

  8. css全部理解

    如何设置标签样式 给标签设置长宽 只有块儿级标签才可以设置长宽 行内标签设置了没有任何作用(仅仅只取决于内部文本值) 字体颜色 color后面可以跟多种颜色数据 颜色英文 red #06a0de 直接 ...

  9. JAVA8之日期操作详解

    package org.date; import java.time.DayOfWeek; import java.time.LocalDate; import java.time.Month; im ...

  10. 在项目中使用Swagger接口说明

    该链接写的内容非常详细: https://blog.csdn.net/xudant/article/details/82856555