首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
Java
Web Services / XML
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
2道头疼的题目,请赐教. ~
[无满意答案结贴,结贴人:Lie_li]
加为好友
发送私信
在线聊天
Lie_li
Lie
等级:
发表于:
2008-05-15 14:09:19
楼主
我是java初学者,最近参加工作,头头丢下2个问题。。。比较头疼。。。。。特来求助。。
1.读取一个文本 内容如下
444 444.f
442 assd22
444 444
要求:计算每行2边数值的合
2.读去HTML文件,统计其中有多少个LINK或是多少个HTTP地址
关于第1题,我写的如下:(由于分主外机,代码都是手打,可能有误)
public static boolean isInteger(String value) {
try {
Integer.parseInt(value);
return true;
} catch (NumberFormatException e) {
return false;
}
}
/**
* 判断字符串是否是浮点数
*/
public static boolean isDouble(String value) {
try {
Double.parseDouble(value);
if (value.contains("."))
return true;
return false;
} catch (NumberFormatException e) {
return false;
}
}
/**
* 判断字符串是否是数字
*/
public static boolean isNumber(String value) {
return isInteger(value) ¦ ¦ isDouble(value);
}
public static void main(Sting[]args)
{
File f=new File("e:\\11.txt");
FileReader fr=new FileReader(f);
BuffereReader bf=new BuffereReader (fr);
Double dsum=0d;
int isum=0;
String readLine="";
String [] myArray=new String[(int)f.length];
while((readLine=bf.readLine())!=null)
{
myArray=readLine.split("\\s+");
for(int i=0;i <myArray.lenth;++i)
{
if(isNumber(myArray[i].toString)==true ¦ ¦ isDouble(myArray[i].toString)==true)
{
dsum += Double.parseDouble(myArray[i]);
}
}
}
遇到的问题有下面几个:
1.按这样的代码,计算出来的记过是该文本中所有数值型的总合;
2.本想判断2边数值如果都是INT则用isum变量统计,有一边是Double则用dsum来统计,但是用isum统计的时候数据有问题,所以在这里没有打出来.
3.有没有更简洁的方法达到该题的目的.
书上说遇到难题自己先尝试查找资料去解决,1天下来没解决的再去找别人帮忙.
已经折腾2天了.....
看了那么多,麻烦了~
问题点数:
100
回复次数:
3
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
java2000_net
老紫竹 Java QQ群:19080316
等级:
发表于:
2008-05-15 22:24:42
1
楼 得分:
0
1 在for 循环开始,给 dsum =0, 在循环结束处打印,就是一行的数据之和了
2 你的 inNumber 包含了 isDouble ,所以没必要判断2次
3 如果不确定是Integer还是 Double, 那就用 double
4 你的算法没问题,只能这样做了
5 2.读去HTML文件,统计其中有多少个LINK或是多少个HTTP地址
有个简单的方法,那就是 str.split("LINK"); 然后数量就是 数组长度-1
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
javazhuobin
DO的真认 QQ:284961681
等级:
发表于:
2008-05-15 23:40:26
2
楼 得分:
0
向一楼学习了!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Lie_li
Lie
等级:
发表于:
2008-05-16 09:35:54
3
楼 得分:
0
回专家。
1.在for 循环开始,给 dsum =0
这样一来每次都清0,结果只是把每个数字都打印一遍
2.如果不确定是Integer还是 Double, 那就用 double
是我没说清楚,如果文本里每行左右任何一边是4f,那么输出也需要带有f。
我自己写死的代码中可以解决这个问题,但在活代码中,这点比较头疼。
3.左右任何一边不是数字就不操作或输出点别的什么,但我这样的代码,则会把数值的一边和经过判断不是数值输出的东西一起输出。
5.str.split("LINK");
截取的话,那不是就等于把他删了,那还怎么获得呢?
还有这题目我自己也比较迷糊的地方是 <
link
/> 还是class="black
Link
"
还有还是指hr="http://~~~~~~~~~~"这样的连接
我在别初发的贴中,有人说到用正则表达式
希望能有代码表示,麻烦了。
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友