两段有趣的程序,有兴趣的看看,好玩
第一个:
public class BrowserTest {
public static void main(String[] args) {
System.out.print("iexplore:");
http://www.google.com;
System.out.println(":maximize");
}
}
第二段,把下面的符号存为Ugly.java,编译执行:
\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0020\u0020\u0020
\u0063\u006c\u0061\u0073\u0073\u0020\u0055\u0067\u006c\u0079
\u007b\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0020\u0020
\u0020\u0020\u0020\u0020\u0073\u0074\u0061\u0074\u0069\u0063
\u0076\u006f\u0069\u0064\u0020\u006d\u0061\u0069\u006e\u0028
\u0053\u0074\u0072\u0069\u006e\u0067\u005b\u005d\u0020\u0020
\u0020\u0020\u0020\u0020\u0061\u0072\u0067\u0073\u0029\u007b
\u0053\u0079\u0073\u0074\u0065\u006d\u002e\u006f\u0075\u0074
\u002e\u0070\u0072\u0069\u006e\u0074\u006c\u006e\u0028\u0020
\u0022\u0048\u0065\u006c\u006c\u006f\u0020\u0077\u0022\u002b
\u0022\u006f\u0072\u006c\u0064\u0022\u0029\u003b\u007d\u007d
更多有趣例子请见《JAVA解惑》,实在是好书一本,没买错
问题点数:100、回复次数:59Top
1 楼believefym(feng)回复于 2006-05-01 17:42:59 得分 10
没弄过,第二个是unicode而已吧Top
2 楼stevensinclair(向PM前进)回复于 2006-05-01 17:44:21 得分 10
呵呵,试了一下
第一段,不知道http://www.google.com;放着干吗.
运行结果:
iexplore::maximize
放了==没放
第二段,JVM研究的范畴吧.
有些小的细节没注意,呵呵,等有时间抽空买本看看.
楼主要给分哦,我也算跟你一起分享了一下结果了.:)Top
3 楼killme2008(为了生态平衡,请保护蛤蟆)回复于 2006-05-01 17:47:27 得分 0
http://www.google.com;
这样看不明白,如果我分开呢?呵呵
http:
//www.google.com;
http:其实做为标签了(label),看过TIJ的该有印象,JAVA没有goto,是通过标签和continue语句来模拟。,而第2句就是一般的单行注释咯
Top
4 楼killme2008(为了生态平衡,请保护蛤蟆)回复于 2006-05-01 17:48:07 得分 0
第2个例子确实是unicode,呵呵,那本书不错,我推荐有兴趣都看看,讲了很多应该避免的陷阱Top
5 楼stevensinclair(向PM前进)回复于 2006-05-01 18:05:42 得分 0
原来如此!:)Top
6 楼stevensinclair(向PM前进)回复于 2006-05-01 18:06:03 得分 0
一定,一定看看.Top
7 楼Error_Code(void)回复于 2006-05-01 18:09:01 得分 10
HELLOWORLD啊Top
8 楼jacshan(猎人)回复于 2006-05-01 19:10:32 得分 10
长见识了,顶!Top
9 楼grant999(民)回复于 2006-05-01 19:16:47 得分 10
第一个长见识了Top
10 楼f_acme(沧海一声笑)回复于 2006-05-01 20:04:26 得分 10
第一个果然厉害,愣了好久Top
11 楼UnAgain()回复于 2006-05-01 20:16:27 得分 10
to: killme2008(zane dennis)
高人,pfTop
12 楼killme2008(为了生态平衡,请保护蛤蟆)回复于 2006-05-01 21:14:50 得分 0
to UnAgain
呵呵,我不是高手,这个例子也是抄自那本书,一开始也楞住了Top
13 楼GALFORDD(風来のシレン)回复于 2006-05-02 00:11:23 得分 10
哈哈 好书好书 接分接分Top
14 楼tomison()回复于 2006-05-02 00:24:16 得分 10
不错,这两道题有意思,学到东西了Top
15 楼tomison()回复于 2006-05-02 00:24:31 得分 0
不错,这两道题有意思,学到东西了Top
16 楼Michael_javavb()回复于 2006-05-02 00:48:33 得分 0
第一个在jdk1.5下无法通过编译
错误信息如下:
错误: 无法读取: BroserTest.java
1 错误Top
17 楼Michael_javavb()回复于 2006-05-02 00:49:28 得分 10
还是谢谢搂住,真的没有想到,那个是注释Top
18 楼dfchjk()回复于 2006-05-02 01:10:46 得分 0
markTop
19 楼dfchjk()回复于 2006-05-02 01:19:03 得分 0
C:\qq>javac Ugly.java
Ugly.java:1: illegal character: \92
\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0020\u0020\u0020
^
1 errorTop
20 楼happynxy(happynxy)回复于 2006-05-02 09:11:17 得分 0
厉害!!!真长见识!!Top
21 楼scjpsz1860(友情UP友情接分)(快乐升星!预祝明天更好!:)回复于 2006-05-02 09:18:59 得分 0
MARK!接分!:)Top
22 楼kingofworl(良辰美景虚度)回复于 2006-05-02 09:27:04 得分 0
学习一下Top
23 楼sungrant()回复于 2006-05-02 10:43:54 得分 0
第2个如何打印出源码啊!!
class A{
public static void main(String s[]){
try{
FileReader fr = new FileReader("g:\\a.txt");
BufferedReader br=new BufferedReader(fr);
String rl=br.readLine();
String rs[]= rl.split("\\");
for(int i=0;i<rs.length;i++)
System.out.println(rs[i]);
System.out.println("");
}catch(Exception e){
e.printStackTrace();
}
}
}
总是报错:java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
^
at java.util.regex.Pattern.error(Pattern.java:1650)
at java.util.regex.Pattern.compile(Pattern.java:1403)
at java.util.regex.Pattern.<init>(Pattern.java:1124)
at java.util.regex.Pattern.compile(Pattern.java:817)
at java.lang.String.split(String.java:2103)
at java.lang.String.split(String.java:2145)
at untitled1.A.main(A.java:12)
这是为什么啊????????Top
24 楼liang8305(换工作的时间到了...)回复于 2006-05-02 10:48:43 得分 0
脑筋急转弯~~~~????Top
25 楼ccs02287(☆兜兜里有糖☆偶滴兜兜里有糖,你和我玩不?)回复于 2006-05-02 11:17:16 得分 0
感谢楼主的推荐与分享,也感谢大家的评价
顶Top
26 楼littlefools()回复于 2006-05-02 12:44:11 得分 0
第二个直接运行,是:hello,worldTop
27 楼darklight2008(其实我是水瓶座)回复于 2006-05-02 14:06:21 得分 0
mark..Top
28 楼TinyJimmy(Jimmy)回复于 2006-05-02 14:11:13 得分 0
有意思Top
29 楼killme2008(为了生态平衡,请保护蛤蟆)回复于 2006-05-02 14:25:21 得分 0
书是很不错,英文名<java Puzzlers>,是<effective java>原作者所做
翻译中规中矩吧,英文好的兄弟可以看原版,有电子书网上.
Top
30 楼Duwchy(+U)回复于 2006-05-02 15:33:44 得分 0
顶一下!长见识了!Top
31 楼seu_cose(专注于通信技术)回复于 2006-05-02 15:39:34 得分 0
收藏Top
32 楼qq14923349(剑神)回复于 2006-05-02 16:02:39 得分 0
晕我也买了那本书Top
33 楼Dan1980()回复于 2006-05-02 16:18:58 得分 0
第二个程序很早看到过,第一个程序太强了,哈哈!!!Top
34 楼Dan1980()回复于 2006-05-02 16:32:34 得分 0
我记得还有一个著名的例子是:
一般人都认为一段注释中,比如/*.... */之间,只要不出现*/,什么字符都可以,但实际上,你不能随便使用“\u”这两个字符,它们后面必须跟一个有效的四位十六进制Unicode编码,否则不能编译。Top
35 楼killme2008(为了生态平衡,请保护蛤蟆)回复于 2006-05-02 17:12:15 得分 0
再来一个,各位猜猜会输出什么?给出理由
package com.denny_blue.puzzlers.classy;
/**
*
* @author dennis
*/
public class Confusing {
private Confusing(double[] dArray) {
System.out.println("double array");
}
private Confusing(Object o) {
System.out.println("Object");
}
public static void main(String[] args) {
new Confusing(null);
}
}
Top
36 楼killme2008(为了生态平衡,请保护蛤蟆)回复于 2006-05-02 18:18:44 得分 0
public class Null {
public static void greet() {
System.out.println("Hello world!");
}
public static void main(String[] args) {
((Null) null).greet();
}
}
Top
37 楼davidong369(冬野)回复于 2006-05-02 19:52:10 得分 0
第一个看过了,结果是iexplore::maximize
将http改为ftp或tp或t或别的字母结果不变,但是将 http://www.google.com;改为://www.google.com;就会出现一个编译错误。
上面killme2008(zane dennis)说的不无道理,支持!
Top
38 楼davidong369(冬野)回复于 2006-05-02 19:57:55 得分 0
第二个有错
C:\qq>javac Ugly.java
Ugly.java:1: illegal character: \92
\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0020\u0020\u0020
^
1 error
谁能解释一下?
Top
39 楼davidong369(冬野)回复于 2006-05-02 20:01:30 得分 0
package com.denny_blue.puzzlers.classy;
/**
*
* @author dennis
*/
public class Confusing {
private Confusing(double[] dArray) {
System.out.println("double array");
}
private Confusing(Object o) {
System.out.println("Object");
}
public static void main(String[] args) {
new Confusing(null);
}
}
输出 double array
那位大虾能解释一下?Top
40 楼jackychen_king(jacky)回复于 2006-05-02 21:12:45 得分 0
??????Top
41 楼ykxian01(水滴石穿)回复于 2006-05-02 21:42:24 得分 0
真是意想不到。又长见意啦Top
42 楼cowboyhust()回复于 2006-05-02 22:43:32 得分 0
我觉得这个编译器 可能有关系,在有些不同版本的JDK下面就不出结果了Top
43 楼qxk0210(胖胖)回复于 2006-05-02 22:45:07 得分 0
第二个例子可以用native2ascii -reverse 然后看结果就可以了Top
44 楼batistuta8848(左右对称)回复于 2006-05-03 02:02:16 得分 0
留名关注~!Top
45 楼amandag(高歌)回复于 2006-05-03 03:25:22 得分 0
不错
Top
46 楼30goto30(hanxiaoguang)回复于 2006-05-03 08:35:06 得分 0
^-^
Top
47 楼dlttyy(暴雨落叶)回复于 2006-05-03 08:50:54 得分 0
mark,,学习Top
48 楼inssuc(cproj)回复于 2006-05-03 12:39:04 得分 0
markTop
49 楼zuoyangguang(瓜瓜)回复于 2006-05-03 21:20:50 得分 0
upTop
50 楼drainbow(大愚若智)回复于 2006-05-04 10:51:18 得分 0
有意思Top
51 楼hank212(IT民工)回复于 2006-05-04 11:10:09 得分 0
樓豬的第一個要表達什麽意思啊.
不太明白,
只是打印 iexplore:maximizeTop
52 楼lionel_fighter(无名狐)回复于 2006-05-04 11:50:38 得分 0
学习Top
53 楼sonyejin(Neverwinter Nights 2)回复于 2006-05-04 12:48:51 得分 0
是挺有意思的
Top
54 楼xuyangkui2004(hongfu)回复于 2006-05-04 14:09:42 得分 0
学习
Top
55 楼china2685920(猫神)回复于 2006-05-04 14:26:38 得分 0
呵呵,学习Top
56 楼avi11lang(萧十一郎)回复于 2006-05-04 15:25:05 得分 0
第一个没什么意思 是个标签来的.第二个是Hello world 嘿嘿Top
57 楼avi11lang(萧十一郎)回复于 2006-05-04 15:28:35 得分 0
第二个真实源码是这样的:
public
class Ugly
{public
static
void main(
String[]
args){
System.out
.println(
"Hello w"+
"orld");}}Top
58 楼datalover(白发始立发奋志)回复于 2006-05-04 19:06:33 得分 0
第一个很好理解啊
http:表示标号
//就是注释的意思
Top
59 楼datalover(白发始立发奋志)回复于 2006-05-04 19:07:52 得分 0
首先我觉得这个人写这些语句的时候格式很不好,不是值得提倡的写法Top




