您好老师,这里能打印
print(f"账户:{self.account.name},余额是:{self.account.money}") print(f"账户:{self.account.name},总共取了:{self.expenseTotal}")
是因为,
draw1 = Drawing(80,a1) ;
draw2 = Drawing(80,a1)
导入了a1吗
老师我想让验证码的数字中间居中应该怎么实现啊
环境:jdk1.8
服务端
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; /** * 接受客户端消息的线程类 */ class ChatReceive extends Thread{ private Socket socket; public ChatReceive(Socket socket){ this.socket=socket; } @Override public void run() { this.receiveMsg(); } /** * 实现接收客户端发送的消息 */ private void receiveMsg(){ BufferedReader br = null; try { br=new BufferedReader(new InputStreamReader(this.socket.getInputStream())); while (true){ String msg=br.readLine(); synchronized ("abc"){ //把读取到的数据写入公共数据区 ChatRoom.buf="["+this.socket.getInetAddress()+"] "+msg; //唤醒发送消息的线程对象 "abc".notifyAll(); } } }catch (Exception e){ e.printStackTrace(); }finally { if (br != null) { try { br.close(); }catch (IOException e){ e.printStackTrace(); } } if (this.socket != null) { try { this.socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } } /** * 向客户端发送消息的线程类 */ class ChatSend extends Thread{ private Socket socket; public ChatSend(Socket socket){ this.socket=socket; } @Override public void run() { this.sendMsg(); } /** * 将公共数据区的消息发送给客户端 */ private void sendMsg(){ PrintWriter pw = null; try { pw=new PrintWriter(this.socket.getOutputStream()); while (true){ synchronized ("abc"){ //让发送消息的线程处于等待状态 "abc".wait(); //将公共数据区中的消息发送给客户端 pw.println(ChatRoom.buf); pw.flush(); } } }catch (Exception e){ e.printStackTrace(); }finally { if (pw != null) { pw.close(); } if (this.socket != null) { try { this.socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } } public class ChatRoom { //定义公共数据区 public static String buf; public static void main(String[] args) { System.out.println("Chat Server Version 1.0"); System.out.println("Listen at 8888....."); ServerSocket serverSocket =null; try { serverSocket =new ServerSocket(8888); while (true){ Socket socket=serverSocket.accept(); System.out.println(socket.getInetAddress()+"加入聊天室"); new ChatReceive(socket).start(); new ChatSend(socket).start(); } }catch (Exception e){ e.printStackTrace(); } finally { if (serverSocket != null) { try { serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
客户端
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; /** * 用于发送消息的线程类 */ class SendMsg extends Thread { private Socket socket; private Scanner scanner; public SendMsg(Socket socket,Scanner scanner) { this.socket = socket; this.scanner=scanner; } @Override public void run() { this.sendMsg(); } /** *发送消息 */ private void sendMsg() { PrintWriter pr = null; try { //创建向对方输出消息的流对象 pr = new PrintWriter(this.socket.getOutputStream()); while (true) { String str = scanner.nextLine(); pr.println(str); pr.flush(); } } catch (Exception e) { e.printStackTrace(); } finally { if (pr != null) { pr.close(); } if (scanner != null) { scanner.close(); } try { if (socket != null) { socket.close(); } } catch (IOException e) { e.printStackTrace(); } } } } /** * 用于接收消息的线程类 */ class ReceiveMsg extends Thread{ private Socket socket; public ReceiveMsg(Socket socket) { this.socket = socket; } /** * 用于接收对方消息的方法 */ private void ReceiveMsg (){ BufferedReader br = null; try { //创建用于接收对方发送消息的流对象 br = new BufferedReader(new InputStreamReader(socket.getInputStream())); while (true){ String str = br.readLine(); System.out.println("用户"+str); } } catch (IOException e) { e.printStackTrace(); } finally { if(br!=null){ try { br.close(); } catch (IOException e) { e.printStackTrace(); } }try { if(socket!=null){ socket.close(); } } catch (IOException e) { e.printStackTrace(); } } } @Override public void run() { this.ReceiveMsg(); } } public class ChatClients { public static void main(String[] args) { System.out.println("请建立服务器或客户端"); System.out.println("请输入:server,<port> 或者:<ip>,<port>"); Scanner scanner = null; Socket socket = null; ServerSocket serverSocket = null; try{ scanner = new Scanner(System.in); String scan = scanner.nextLine(); String[] arr = scan.split(","); if("server".equals(arr[0])){ serverSocket = new ServerSocket(Integer.parseInt(arr[1])); System.out.println("服务器监听中"); socket = serverSocket.accept(); System.out.println("接收成功"); }else{ socket = new Socket(arr[0],Integer.parseInt(arr[1])); System.out.println("连接成功"); } new SendMsg(socket,scanner).start(); new ReceiveMsg(socket).start(); }catch (Exception e){ e.printStackTrace(); } } }
客户端和服务器连接上以后,把客户端关闭就报这个错误,咋处理?
老师,我发现不管怎么传图片都是刚开始传的那一张,不知道什么原因
class Employee: __id=1000 __name=None __salary=None def __init__(self,name,salary): self.__name=name self.___salary=salary Employee.__id+=1 def __add__(self,other): if isinstance(self,Employee): return self.salary+other.salary else: print("error") @property def salary(self): return self.salary @salary.setter def salary(self,salary): if 1000<=salary<=50000: self.__salary=salary else: print("error") A=Employee("A",2000) A.salary
代码如上,
可是为什么会这样?
@click.native.prevent="handlelogin"中的native是啥?
没别的老师了吗,大部分都是这个老师讲,主要他每次讲课都是想到啥说啥,还讲点黑话,也不解释原理,听的我云里雾里的
老师,代码里面的第6行执行为什么会出错。f.seek(3,1)按照定义就是从当前位置偏移3个字节的偏移量,执行时却报错了。
老师,为什么要分开写d1.flag=true和d2.flag=false
按道理两个盒子不应该重合吗,但是总是有重复,为啥老师?
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> .div1{ width:300px; height:300px; background-color: red; /*绝对定位*/ position: absolute; /* position: relative;*/ top: 200px; left: 200px; } .div2{ width:300px; height:300px; background-color: green; /* position: fixed;*/ position: relative; top : 200px; left: 200px; /*置于底层*/ z-index: -1; } </style> </head> <body> <div class="div1"></div> <div class="div2"></div> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> </body> </html> <!-- 绝对定位: absolute :定位离开之后释放的之前的位置 基于外层父级标签来说 相对定位: relative: 定位离开之后之前的位置没有释放 基于之前的位置来说 固定定位: fixed :始终是基于浏览器的左上角定位 适合做广告 默认定位: static :初始的定位的操作
关于转行的简历如何写比较好,以前的工作跟编程没有任何关系,该如何写比较好?
现在自学JAVA,学完只能说是入门,那么看他们的简历上学习了那么多,以后都要有所接触吗?
然后使用 pip install blinker
然后他给安装到 我系统环境下面去了
用的虚拟环境时候还是找不到
这个为什么会出现乱码?不是保存和解码方式是一样的嘛?
问题:记事本编译运行Java程序,中文出现乱码
运行结果:
、navicat版本 12.1.19
老师请问一下括号里没有详细信息的原因是什么?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637