| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1213 人关注过本帖
标题:该怎么实现这个功能(java io)
只看楼主 加入收藏
zq1983
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-4-27
收藏
 问题点数:0 回复次数:15 
该怎么实现这个功能(java io)
import java.io.*;
public class Test
{
public static void main(String[] args)throws IOException
{
String str,strd;
int count=0;

BufferedReader buf=new BufferedReader(new FileReader("e:\\store.txt"));
BufferedReader buf1=new BufferedReader(new InputStreamReader(System.in));
str=buf1.readLine();
while((strd=buf.readLine())!=null)
{


count++;
if((str.equals(strd))==true)
{
System.out.println("ok");break;
}
else
{
if(count==6)
{
System.out.println("notfound");
}
}




}
buf.close();



这段程序从键盘上输入数据然后与e:\\store.txt里的比较,一样输出“ok”,不一样输出“nofound
”。这个功能可以实现,但是我是在知道e:\\store.txt里面有六行的情况下用的if(count==6),我要是不知道有多少行的情况下应该怎么办。
或者用什么别的方式实现这个功能

搜索更多相关主题的帖子: java new str String 
2006-12-31 15:11
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
把store.txt的文件内容全部进来,然后和你输入的对比不就可以了吗

可惜不是你,陪我到最后
2006-12-31 15:13
zq1983
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-4-27
收藏
得分:0 
while((strd=buf.readLine())!=null)
{


count++;
if((str.equals(strd))==true)
{
System.out.println("ok");break;
}
else
{
if(count==6)
{
System.out.println("notfound");
}
}




}


这段不就是吗
2006-12-31 15:26
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

当有一行是一样的,你就break了,后面怎么比


可惜不是你,陪我到最后
2006-12-31 15:31
zq1983
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-4-27
收藏
得分:0 

这个样子??不行啊.
while((strd=buf.readLine())!=null)
{



if((str.equals(strd))==true)
{
System.out.println("ok");
}
else
{

{
System.out.println("notfound");
}
}




}



打印的结果是
notfound
ok
notfound
notfound
notfound
notfound
我的问题就是解决让所有的行数都找过了之后,如果没有,打印出一个"notfound"
2006-12-31 15:40
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
设一个标量,初始时是false,如果有equals就把它设为true,如果全部都读完了,还没有相同的那它就是false了,

然后在while循环外面判断,它是true还是false就可以了

可惜不是你,陪我到最后
2006-12-31 15:44
zq1983
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-4-27
收藏
得分:0 
我先试一下,不会在来问阿
2006-12-31 15:46
中文名
Rank: 1
等 级:新手上路
威 望:1
帖 子:45
专家分:0
注 册:2006-12-12
收藏
得分:0 

import java.io.*;
public class test
{
public static void main(String[] args)throws IOException
{
String str,strd;
int count=0;

BufferedReader buf=new BufferedReader(new FileReader(\"e:\\store.txt\"));
BufferedReader buf1=new BufferedReader(new InputStreamReader(System.in));
str=buf1.readLine();
while((strd=buf.readLine())!=null)
{


count++;
if((str.equals(strd))==true)
{
System.out.println(\"ok\");
buf.close();
return;
}
}

System.out.println(\"notfound\");

buf.close();
}
}
2006-12-31 15:48
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

这样的话你count++有什么用?


可惜不是你,陪我到最后
2006-12-31 15:49
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
并且
str.equals(strd))==true)

这个==true是完全多余的

str.equals(strd)它返回的就是一个boolean

可惜不是你,陪我到最后
2006-12-31 15:49
快速回复:该怎么实现这个功能(java io)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017747 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved