第四次考核

码云地址:https://gitee.com/lxtbb/fourth_assessment/tree/master/liaotianshi

第四次过程性考核内容

   使用套接写连接编写一个简单的聊天室程序,客户端主函数放在Client_Main.java文件中,服务器端主函数放在Server_Main.java文件中

   要求:

         1.客户端从控制台进行输入,并将客户端的输出内容和时间保存到“学号.txt”文件中

         2.服务器端读取到客户端的程序后,给客户端以回应,并将客户端的输入内容与服务端的输出内容、时间保存到文本文件中

         3.要求服务器端可以实现同时与多个客户端进行通信,与每一个客户端通信的内容,保存为一个“学号_ip.txt”的文件

    4..提交文件结果包括:代码,通信后生成的txt文件

2.运用知识:

服务器创建ServerSocket对象,使用accept()方法,客户端创建Socket对象和服务器连接

3.代码

客户端

import java.net.*;
import java.io.*;
public class Client_Main{
    public static void main (String args[]){
        String [] mess ={"你好么"};
        Socket mysocket;
        DataInputStream in=null;
        DataOutputStream out=null;
        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(mess[i]);
                String s=in.readUTF();
                System.out.println("客户端收到服务器的回答:"+s);
                Thread.sleep(500);
            }
        }
        catch(Exception e){
            System.out.println(" 服务器已断开"+e);
        }
    }
}

服务器端:

import java.net.*;
import java.io.*;
public class Server_Main{
    public static void main(String args[]){
        String [] answer = {""};
        ServerSocket serverForClient = null;
        Socket socketOnServer = null;
        DataOutputStream out=null;
        DataInputStream in=null;
        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 s = in.readUTF();
                System.out.println("服务器收到客户的提问:"+s);
                out.writeUTF(answer[i]);
                Thread.sleep(500);
            }
        }
        catch(Exception e){
            System.out.println("客户已断开"+e);
        }
    }
}

总结:这次考核做的不是很好,思路不是很清晰,不知道下一步要做什么

在编写代码时不能很好的掌握多线程的相关代码 thread类和run方法也没有掌握的很好 理解的不透彻 还需要多多练习

转载于:https://www.cnblogs.com/lxtbb/p/10122018.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,可以使用以下代码实现: ```python # 定义学号和三次考试成绩 scores = { '001': [80, 75, 90], '002': [60, 55, 70], '003': [90, 95, 85] } # 遍历每个学生的成绩,记录最高分和对应考试次数 max_score = 0 max_exam = 0 for id, score_list in scores.items(): for i, score in enumerate(score_list): if score > max_score and score >= 60: max_score = score max_exam = i+1 # 输出最高分和对应考试次数 print("最高分数为:{},对应的考试次数为第{}次".format(max_score, max_exam)) ``` 这里定义了一个字典 `scores`,其中键为学号,值为一个列表,包含三次考试成绩。然后在遍历每个学生的成绩时,记录最高分和对应考试次数,最后输出结果即可。 需要注意的是,这里的考试成绩超过60分即视为考试通过,因此在比较成绩大小时需要加上条件 `score >= 60`。 ### 回答2: 学号是唯一的标识符,用于识别学生的身份。第一次、第二次和第三次考试成绩是学生在不同时间点进行的考试时所得到的分数。如果一个学生的考试成绩超过60分,则表示他通过了相应的考试。 查询那一次考核的最高分的分值在三次考核中最高,意思是要找到在三次考试中,哪一次考试中获得的最高分数最高。 对于这个问题,我们可以通过比较三次考试成绩来找到答案。首先,我们将第一次、第二次和第三次考试的分数进行比较。如果第一次考试成绩最高,则输出第一次考试成绩;如果第二次考试成绩最高,则输出第二次考试成绩;如果第三次考试成绩最高,则输出第三次考试成绩。 假设第一次考试成绩为score1,第二次考试成绩为score2,第三次考试成绩为score3,则用以下条件判断哪次考试获得的最高分数最高: 1. 如果score1 > score2 且 score1 > score3,则输出第一次考试成绩score1; 2. 如果score2 > score1 且 score2 > score3,则输出第二次考试成绩score2; 3. 如果score3 > score1 且 score3 > score2,则输出第三次考试成绩score3。 这样,我们可以根据这个条件来找到在三次考试中获得的最高分数最高的那一次考试的分数。 ### 回答3: 要找到三次考核中最高分的分值所对应的考核次数,我们可以按照以下步骤进行操作: 1. 首先,假设第一次考试成绩为x,第二次考试成绩为y,第三次考试成绩为z。 2. 然后,分别判断x、y、z是否大于60,如果大于60,则表示通过考核。 3. 接下来,设置一个变量max_score用于记录最高分的分值,并将其初始化为0。 4. 然后,通过比较x、y、z的大小,找出最高的分值,并将其赋值给max_score。 5. 最后,根据max_score的值进行判断,如果max_score等于x,则最高的分值对应的考核次数是第一次考核;如果max_score等于y,则最高的分值对应的考核次数是第二次考核;如果max_score等于z,则最高的分值对应的考核次数是第三次考核。 6. 根据以上判断结果,输出对应的考核次数即可。 总结起来,就是通过比较三次考核的成绩,找出最高分值所对应的考核次数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值