Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java SE 综合讨论区
打印话题 寄给朋友 订阅主题 |
话题被移动 | ||||
该话题已被移动 - littledeer1974 , 2004-12-05 22:06 如果您尚不清楚该话题被移动的原因,请参考论坛规则以及本版公告或者联系本版版主。 |
作者 | 关于try--catch--finally和java标准输入流(急~~~) |
rahoo
发贴: 7 积分: 0 |
于 2004-12-04 15:15
希望路过的能看下去,谢谢了! 1。书上说至少要用一个catch语句,但我用了只用try编译也能通过! 2。finally语句是不管有没捕获到都要执行的语句,但默认其他语句就是可以执行的,根本不受try的约束,那finally这个关键字设了有什么用,小弟感觉无任何用处! 3。另外,关于System.in.read(buffer)这样的输入也有些不明白,因为如果程序中多次出现此语句,则会存在一个覆盖的问题,如果前面输入的字符串比前面的长,则长出的部分会遗留在后面的字符串中,而且我观察后发现,输出后面字符串的结果是实际字符后面是空格然后下面一行是前面输入的字符(从短字符串长度+2位置起截取长字符串) 为了说明方便,我且设 byte buffer[]=new byte[50]; 如果依次输入 abcdefgh 那么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 |
已读帖子 新的帖子 被删除的帖子 |
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 |