多线程&socket

本文介绍了四个Java编程题目,涉及多线程和Socket编程。第一题是实现一个计时器,每秒打印当前时间;第二题设计了一个银行账户类,使用同步方法处理存款和取款操作;第三题编写了服务器端程序,接收客户端整数,排序后返回;第四题展示了一个简单的Socket通信程序,支持多个客户端连接和交互。
摘要由CSDN通过智能技术生成

.编程题

1、编写一个计时器,每隔一秒钟,在控制台打印出最新时间。

知识点 Java中的线程状态

2、用Account类表示银行用户帐号,有账号(id)和余额(account)属性以及存款(deposit)取款(withdraw)和查询余额(checkBalance)操作。由于银行帐号要求安全性和可靠性较高,需要对存款与取款操作进行同步。设计该类。 

知识点:线程同步

3、编写一服务器端程序,实现读取客户端发送过来的一组整数,表现为一组数与数之间用空格隔开的字符串。对这组整数进行排序处理后,返回相应的字符串给客户端,如果数据格式不正确,则返回错误信息,以本机作为服务器。

知识点:基于TCPSocket编程

4、编写一个简单的socket通讯程序:

1)、客户机程序,从控制台输入字符串,发送到服务器端,并将服务器返回的信息显示出来。

2)、服务器端程序,从客户机接收数据并打印,同时将从标准输入获取的信息发送给客户机

3)、满足一个服务器可以服务多个客户

实现效果如图:

1:服务器端效果:

2:客户器端效果:

 

知识点:基于多线程的Socket编程

 

 

 答案:

.编程题

1、编写一个计时器,每隔一秒钟,在控制台打印出最新时间。

publicclass Main {

    publicstaticvoid main(String[] args) {

       while(true){

           SimpleDateFormat sdf =new SimpleDateFormat("HH:mm:ss");

           System.out.println(sdf.format(new Date()));

           try {

              Thread.sleep(1000);

           } catch (InterruptedException e) {

              // TODO Auto-generated catch block

              e.printStackTrace();

           }

       }

    }

}

 

2、用Account类表示银行用户帐号,有账号(id)和余额(account)属性以及存款(deposit)取款(withdraw)和查询余额(checkBalance)操作。由于银行帐号要求安全性和可靠性较高,需要对存款与取款操作进行同步。设计该类。 

publicclass Account {

    private String id;

    privatedoubleaccount;

    publicAccount(){

      

    }

    public Account(String id, double account) {

       super();

       this.id = id;

       this.account = account;

    }

    public String getId() {

       returnid;

    }

    publicvoid setId(String id) {

       this.id = id;

    }

    publicdouble getAccount() {

       returnaccount;

    }

    publicvoid setAccount(double account) {

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值