【概念】 要好好理解并且背下来记住

Java基础,呵呵呵。自己查吧。

local host搞错了,整个跑不出来。真尴尬。不理解啊。

static原来是全局的意思啊,好吧。以前都忘了,这次该记住了。static方法原来只能给class用。static里不能用this。改成static方法后把this去掉。总结:无论是变量,方法,还是代码块,只要用static修饰,就是在类被加载时就已经"准备好了",也就是可以被使用或者已经被执行,都可以脱离对象而执行。反之,如果没有static,则必须要依赖于对象实例。(https://www.cnblogs.com/chenssy/p/3386721.html)

private static BigInteger e,d,n;
public RSAProxy(BigInteger e, BigInteger d, BigInteger n) {
RSAProxy.e = e;
RSAProxy.d = d;
RSAProxy.n = n;
}

“一直”对应循环,要朝着这个角度思考。没错就break:

while (true) {
try {
id = Integer.valueOf(idAndOperationAndValue.split(" ")[0]);
operation = idAndOperationAndValue.split(" ")[1];
value = Integer.valueOf(idAndOperationAndValue.split(" ")[2]);
break;
}catch (Exception e) {
System.out.println("Invalid input, please enter again: ");
typedIdAndOperationAndValue = new BufferedReader(new InputStreamReader(System.in));
idAndOperationAndValue = typedIdAndOperationAndValue.readLine();
}
}

TCP用的是in/out来通信,UDP用的是数据包通信,所以容易丢包。

nextLine是下一行,next是下一个单词。

这个“分离重点”说实话,我不知道为什么要用,我觉得特别牵强、不习惯。稀奇古怪的模式居然是经验的代名词,醉了。用过一两个以后再慢慢体会吧。可以参考四人帮的《设计模式》,概括的博文:https://blog.csdn.net/exuejwa/article/details/51648890

【方法论】要好好理解并且背下来记住

看打印的内容是否完全。看看输出是不是都打出来了。

 //错了,一直在这里循环
//while ((idAndOperationAndValue = typed.readLine()) != null) {
if (idAndOperationAndValue != null) {

断点位置没对,要打在能动的函数上。

最后调格式的步骤是:第一步:把断点去掉,黄线删掉, 通过搜索不要的打印删掉(system.out)。第二步:加注释(星号的概述注释提前加)。第三步:调格式。

理解题目和技术需求,实现题目,debug。第一步我也算是多花时间思考了,所以第二步也没那么慢了。

数据转格式的时候有exception,可以换一个函数。

命令行代码:cd+ls万岁

Last login: Thu Feb  7 17:56:39 on ttys001
joys-Air-2:~ joycheng$ cd /Users/joycheng/NetBeansProjects/Project2Task1/src/UDP
joys-Air-2:UDP joycheng$ ls
EchoClientUDP.java EchoServerUDP.java
joys-Air-2:UDP joycheng$ javac EchoServerUDP.java
joys-Air-2:UDP joycheng$ java EchoServerUDP
Error: Could not find or load main class EchoServerUDP
joys-Air-2:UDP joycheng$ javac EchoServerUDP.java

两个字符串合成一个,数据结构设计的脑洞还是不够大啊。经验不足。

输入输出的时候要处理很多垃圾输入、exception。边界处理其实相对并不难,就是烦。

【细节】看看就行了,最好也记住

注意要求的是小数还是整数

int integer不同,定义的时候就要注意。

先收到request,之后再转换成字符串。天哪,顺序搞错,可怕!

DatagramPacket reply = new DatagramPacket(byteArrayOfSum,

byteArrayOfSum.length, request.getAddress(), request.getPort());里面的长度要一致。先理解,然后仔细点啊。










project2的更多相关文章

  1. hudson.AbortException: No files found in path D:\testproject\project2\testoutput\ with configured filemask: output.xml

    错误描述: hudson.AbortException: No files found in path D:\testproject\project2\testoutput\ with configu ...

  2. Ubuntu下一个python的BeautifulSoup和rsa安装方法---信息检索project2部分:微博爬行要求python包裹

    后果<信息检索>第二project,微博具有抓取数据,再处理.师兄给了代码.让慢慢爬.可是在ubuntu下.少了非常多python软件包.须要安装. 1.首先执行时.说少了python.B ...

  3. Entity Framework教程(第二版)

    源起 很多年前刚毕业那阵写过一篇关于Entity Framework的文章,没发首页却得到100+的推荐.可能是当时Entity Framework刚刚发布介绍EF的文章比较少.一晃这么多年过去了,E ...

  4. EF里一对一、一对多、多对多关系的配置和级联删除

    本章节开始了解EF的各种关系.如果你对EF里实体间的各种关系还不是很熟悉,可以看看我的思路,能帮你更快的理解. I.实体间一对一的关系 添加一个PersonPhoto类,表示用户照片类 /// < ...

  5. Web.xml详解(转)

    这篇文章主要是综合网上关于web.xml的一些介绍,希望对大家有所帮助,也欢迎大家一起讨论. ---题记 一.            Web.xml详解: (一)  web.xml加载过程(步骤) 首 ...

  6. Delphi在创建和使用DLL的时候如果使用到string,请引入ShareMem单元

    当使用了长字符串类型的参数.变量时,如string,要引用ShareMem. 虽然Delphi中的string功能很强大,但若是您编写的Dll文件要供其它编程语言调用时,最好使用PChar类型.如果您 ...

  7. 发布一个自用的ansi转utf8程序

    前几天网上下载了一个国外的源码示例,布署到IIS上,查看网页中文显示乱码,各种不方便,你懂的. 用记事本打开文件,显示是ANSI格式,另存为UTF8格式,保存,再查看页面就正常显示中文了. 文件好多, ...

  8. LINQ系列:LINQ to SQL Group by/Having分组

    1. 简单形式 var expr = from p in context.Products group p by p.CategoryID into g select g; foreach (var ...

  9. MVC实用架构设计(三)——EF-Code First(4):数据查询

    前言 首先对大家表示抱歉,这个系列已经将近一个月没有更新了,相信大家等本篇更新都等得快失望了.实在没办法,由于本人水平有限,写篇博客基本上要大半天的时间,最近实在是抽不出这么长段的空闲时间来写.另外也 ...

随机推荐

  1. Shiro简介——《跟我学Shiro》

    地址: http://jinnianshilongnian.iteye.com/blog/2018936

  2. Linux裸设备管理详解--

    裸设备概述 裸设备:也叫裸分区(原始分区),是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊字符设备.裸设备可以绑定一个分区,也可以绑定一个磁盘.字符设备:对字符设备的读写不需要 ...

  3. rocketmq控制台搭建(rocketmq-console)

    1. 下载开源的rocketmq-externals项目 https://github.com/apache/rocketmq-externals 2. 找到rocketmq-console,先编辑一 ...

  4. [Unity优化]批处理02:动态批处理

    参考链接: https://docs.unity3d.com/Manual/DrawCallBatching.html 原理: cpu每帧把可以进行动态批处理的网格进行合并,再把合并后的数据传给gpu ...

  5. WRF 安装备忘

    ▶ n 年前在笔记本上安装 WRF 的一个过程 ● 安装 cpp,csh,m4,quota,samba # apt-get install cpp csh m4 quota samba ● 网上教程有 ...

  6. js自执行事件

    let a = document.createElement("a");let event = new MouseEvent("click");a.downlo ...

  7. macbook查找卸载pkg

    pkg是macOS下的一种比较复杂的安装方式,装完了想要卸载有点不太好找,MAC下有个命令工具pkgutil,运行命令pkgutil --pkgs可以找到你的所有pkg,如图: 当然,也可以用grep ...

  8. Python第3天

    字符串的魔法: expandtabs 可用来制表 当前输入是否为数字:isdecimal 最低级 isdigit 支持特殊数字 isnumeric 支持中文 标识符 isidentifier 是否存在 ...

  9. Django中的视图(view)

    视图 1.什么是视图 视图就是Django项目下的view.py文件,它的内部是一系列的函数或者是类,用来专门处理客户端访问请求后处理请求并且返回相应的数据,相当于一个中央情报处理系统 2.具体视图实 ...

  10. [Tools] 一种调试 Android App 接口的方式 (Fiddler/Wireshark)

    要求:Windows电脑与手机在同一局域网内(Wifi). [ Fiddler 设置代理 ] 下载地址:https://www.telerik.com/download/fiddler 依次 Tool ...