Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
话题被移动
该话题已被移动 - littledeer1974 , 2004-12-05 22:06
如果您尚不清楚该话题被移动的原因,请参考论坛规则以及本版公告或者联系本版版主。
作者 关于try--catch--finally和java标准输入流(急~~~)
rahoo





发贴: 7
积分: 0
于 2004-12-04 15:15 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
希望路过的能看下去,谢谢了!

1。书上说至少要用一个catch语句,但我用了只用try编译也能通过!

2。finally语句是不管有没捕获到都要执行的语句,但默认其他语句就是可以执行的,根本不受try的约束,那finally这个关键字设了有什么用,小弟感觉无任何用处!

3。另外,关于System.in.read(buffer)这样的输入也有些不明白,因为如果程序中多次出现此语句,则会存在一个覆盖的问题,如果前面输入的字符串比前面的长,则长出的部分会遗留在后面的字符串中,而且我观察后发现,输出后面字符串的结果是实际字符后面是空格然后下面一行是前面输入的字符(从短字符串长度+2位置起截取长字符串)

为了说明方便,我且设
byte buffer[]=new byte[50];
System.in.read(buffer);
String a=new String(buffer).trim();
System.in.read(buffer);
String b=new String(buffer).trim();

如果依次输入
abcdefgh
xyz

那么system.out.print(b)的结果就是
xyz

fgh (从abcdefgh的3+2个位置开始截取)
而System.out.print(b.length())的结果是8(即a串的实际长度)
String(buffer)后面加不加.trim()的区别就是,没加是如果前面输入的比后面的长不超过2,则输出的结果是正确的,否则就有错误;而不用.trim()则.length()始终是50(即buffer数组的长度),且如果前面输入的长于后面的也会出错

4。最后还有一个问题是try-catch-finally的执行机制,因为我的一个程序明明没发生异常,但却捕获到了,真是想不通~
希望有高手能详细解释一下System.in.read(buffer)的细节和try-catch-finally的执行机制,finally{}语句真的没什么用吗,帮小弟解决困惑,不胜感激!


littledeer1974 edited on 2004-12-05 22:04


[转帖]面向对象的思维方法

话题树型展开
人气 标题 作者 字数 发贴时间
9887 关于try--catch--finally和java标准输入流(急~~~) rahoo 1025 2004-12-04 15:15
7897 Re:关于try--catch--finally和java标准输入流(急~~~) rahoo 2195 2004-12-04 15:21
8084 Re:关于try--catch--finally和java标准输入流(急~~~) rahoo 190 2004-12-04 15:25
8000 Re:关于try--catch--finally和java标准输入流(急~~~) rahoo 458 2004-12-04 15:28
7980 Re:关于try--catch--finally和java标准输入流(急~~~) rahoo 118 2004-12-04 15:31
8355 Re:关于try--catch--finally和java标准输入流(急~~~) michaelyung 645 2004-12-20 15:10

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923