黑马程序员技术交流社区

标题: Java加法也混乱 一加一到底等于几!!! [打印本页]

作者: cat73    时间: 2015-2-26 00:22
标题: Java加法也混乱 一加一到底等于几!!!
本帖最后由 cat73 于 2015-8-12 23:07 编辑
  1. import java.io.PrintStream;
  2. import java.util.Random;

  3. /**
  4. * 测试类
  5. * @author Cat73
  6. */
  7. final class Test {
  8.         public static void main(String[] args) {

  9.                 hook(); //该函数代码回帖可见~
  10.                
  11.                 System.out.println("混乱的加法开始~~");
  12.                 System.out.println(1 + 1);
  13.                 System.out.println(1 + 1);
  14.                 System.out.println(1 + 1);
  15.                 System.out.println(1 + 1);
  16.                 System.out.println(1 + 1);
  17.                 System.out.println("混乱的加法结束~~");
  18.                 System.out.println("By: Cat73\nQQ: 1901803382");
  19.         }
  20. }
复制代码

[hide=d10000]
  1.         private static void hook() {
  2.                 System.setOut(new PrintStream(System.out) {
  3.                     Random rd = new Random();
  4.                         
  5.                     public void println(int x) {
  6.                         super.println(1000 + rd.nextInt(8999));
  7.                     }
  8.                 });
  9.         }
复制代码

其实很简单啦 就是替换掉系统的输出流啦~~[/hide]
输出效果:



作者: fantacyleo    时间: 2015-2-26 00:40
。。。。。。。。。。
作者: Hsidar    时间: 2015-2-26 10:36
肯定在搞鬼:lol
作者: Imp_x    时间: 2015-2-26 10:46
...................................................................
作者: lovejjfg    时间: 2015-2-26 10:51
???????????????????
作者: 枪杆不如笔杆    时间: 2015-2-26 11:38
莫非吧+号覆盖了?
作者: guiqi225    时间: 2015-2-26 14:39
~~~~~~~~~~~~~~~~~~~~~~
作者: lwh316658735    时间: 2015-2-26 17:38
是打印流在搞鬼吧
作者: mengxiang1993    时间: 2015-2-26 18:16
看看代码
作者: 袁丙轩    时间: 2015-2-26 18:20
。。。。。
作者: tianyu    时间: 2015-2-26 18:42
、、、、awefawefff
作者: 米家小九    时间: 2015-2-26 22:25
回复一下看看
作者: cat73    时间: 2015-2-26 23:22
枪杆不如笔杆 发表于 2015-2-26 11:38
莫非吧+号覆盖了?

加号可以覆盖么- -
作者: 竹叶君子    时间: 2015-2-27 09:23
hook函数在搞鬼吧。。。
作者: aawenwei    时间: 2015-2-27 10:04
看看,,,,,,,,,,,,,,,,,,,,
作者: Afridoce    时间: 2015-2-27 22:41
cat73 发表于 2015-2-26 23:22
加号可以覆盖么- -

加号可以覆盖~~
作者: cat73    时间: 2015-2-28 00:32
Afridoce 发表于 2015-2-27 22:41
加号可以覆盖~~

- -怎么搞 我没玩过
作者: wwwdai    时间: 2015-2-28 01:36
?????????
作者: ko889910    时间: 2015-3-1 14:47
学习一下
作者: 浦原氏之喵    时间: 2015-3-1 19:12
观摩,学习,大神快来!
作者: 北斗123    时间: 2015-3-1 20:06
这是怎么回事呢
作者: 硫氢化铁    时间: 2015-3-1 21:04
我是没看懂..........
作者: Doug    时间: 2015-3-1 21:11
hook是什么
作者: zfgrinm    时间: 2015-3-2 02:38
看看代码
作者: shuren2015    时间: 2015-3-2 08:47
。。。。。。。。。。。
作者: huangchunwei    时间: 2015-3-2 08:55
这么吊。。。。
作者: outsider1020    时间: 2015-3-2 20:38
有意思!!!!!!!!
作者: crazy886    时间: 2015-3-2 20:58
随便看看
作者: z47057554    时间: 2015-3-2 23:42
看一看,掀开
作者: 小棽    时间: 2015-3-3 10:41
看看到底是什么原因
作者: Ezreal    时间: 2015-3-3 11:09
看看什么东西
作者: doomsday    时间: 2015-3-3 13:19
看看怎么回事
作者: 菜鸟一号    时间: 2015-3-3 15:27
想看看是什么玩意
作者: 绝望    时间: 2015-3-3 15:39
好神奇,看看代码是怎么实现的
作者: linuxpara910829    时间: 2015-3-3 17:24
????????????????????????????????
作者: 何剑钟    时间: 2015-3-3 17:42
:o:o:o看看先
作者: Neil_Qian    时间: 2015-3-3 17:51
想了解下~~~
作者: BEIKOU    时间: 2015-3-3 20:09
看看……
作者: 龙行无忌    时间: 2015-3-3 22:26
hook()这方法的在作祟吧
作者: ZZGFF    时间: 2015-3-3 22:41
呀哈。。。。。
作者: 执念    时间: 2015-3-3 23:20
赤裸裸的骗回复!!我还是回了
作者: 碧鸿    时间: 2015-3-3 23:41
看看是什么?
作者: ankje    时间: 2015-3-4 01:15
就想看看hook()
作者: 栗新岩    时间: 2015-3-4 08:57
我来看看
作者: w239983684    时间: 2015-3-4 18:57
看看答案是什么。
作者: 奔跑的猴子    时间: 2015-3-4 19:01
我是回复看代码的
作者: zailushang326    时间: 2015-3-4 19:13
莫名期待代码的冲动
作者: 自学小番薯    时间: 2015-3-4 19:36
来看看是怎么回事
作者: cat73    时间: 2015-3-8 04:07
坑了好多回复- -
作者: 黑马小夏    时间: 2015-3-8 09:21
.............
作者: 轻羽涉池    时间: 2015-3-8 09:40
想看代码
作者: pop1234o    时间: 2015-3-8 21:19
我要看一看
作者: 赵涛涛    时间: 2015-3-8 22:57
这是什么鬼?想看后面的代码
作者: xxzlhx    时间: 2015-3-9 12:37
人们常用1加1等于2是十进制表示数据的一种方法,还有多种其他的进制,例如:二进制、八进制、十六进制、十二进制、六十进制等。在二进制中,1加1就不等于2。
作者: 混乱的世界    时间: 2015-3-9 13:22
学习,学习

作者: penguin    时间: 2015-3-9 13:26
黑马新生羣求大神指导。。392602799。。
作者: 突然世界晴    时间: 2015-3-9 13:26
看看,学习思维
作者: 1021361407    时间: 2015-3-9 13:32
学习学习
作者: 金康俊    时间: 2015-3-9 17:13
看看到底搞了什么鬼。
作者: bztf    时间: 2015-3-24 22:13
搞什么鬼
作者: 胡思不乱想    时间: 2015-3-24 22:48
。。。。。。
作者: 感觉    时间: 2015-3-24 23:02
你是在调用hook()方法后在hook()方法里进行输出,在hook()方法里使用了 System.exit(0);  直接结束了虚拟机
作者: 小小豪    时间: 2015-8-12 17:39

作者: wrnlksblk    时间: 2015-8-12 18:50
大概的双方各地方给对方给对方
作者: wode1311    时间: 2015-8-12 22:15
..............
作者: wmq629    时间: 2015-8-15 14:06
`````````````
作者: 永飞    时间: 2015-8-16 21:17
不明觉厉
作者: hbcoding    时间: 2015-11-1 16:11
我是来看hook()函数的
作者: miimio    时间: 2015-11-2 17:43
{:3_46:}看看到底什么鬼
作者: gao353263372    时间: 2015-11-3 16:09
也是醉了.才发现是酱紫的.
作者: 罗志凯    时间: 2015-11-3 22:43
好奇的试了一下,然而并不能运行,错误出在hook();上,楼主给个提示吧
作者: ljx550429    时间: 2015-11-9 15:38
了解了解~~
作者: wucong007    时间: 2015-11-10 00:00
我想看看代码拿来吧
作者: yuxing    时间: 2016-7-17 21:29
我先看看~~~~~~~
作者: yuxing    时间: 2016-7-17 21:32
我先看看~~~~~~~...........
作者: 回根的落叶    时间: 2016-7-18 08:58
看一下思路!!
作者: yuxing    时间: 2016-8-7 01:02
直接把原有的打印流println覆盖了.....晕~~配上这标题真是骗子....
作者: yuxing    时间: 2016-8-7 18:32
我以为底层算法导致的呢.........
作者: cat73    时间: 2016-8-7 19:10
yuxing 发表于 2016-8-7 18:32
我以为底层算法导致的呢.........

Hook 不就是这样么,篡改原来的函数,让它调用到自己写的函数上,自己的函数对输入进行一些处理,然后可以选择调用原函数或者不调用,也可以任意决定输出 0.0




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2