统计一个文本文件中有多少个“中国‘

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;

public class io_1 {
public static int size=0;//记录"中国"出现的次数
public static void main(String[] args) {
	String str=JOptionPane.showInputDialog("输入文本路径");
	
File src=new File(str);
InputStream is=null;
try {
	is=new FileInputStream(src);
	
	int len;
	byte[] data=new byte[1024];
	while((len=is.read(data))!=-1) {
		String s=new String(data,0,len); //读入文本内容
		int m=s.indexOf("中国", 0); //文本中第一次出现中国的索引位置;
	    while(m!=-1) {
	    	m=s.indexOf("中国",m+1);
	    	//System.out.println(m);
	    	size++;
	    }
	    JOptionPane.showMessageDialog(null, "出现了"+size+"次中国");
	    
	}
	
} catch (Exception e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}finally {
	try {
		if(is!=null) {
			is.close();
		}
	}catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

}
}

虽然结果是对的,但

String s=new String(data,0,len); //读入文本内容
		int m=s.indexOf("中国", 0); //文本中第一次出现中国的索引位置;
	    while(m!=-1) {
	    	m=s.indexOf("中国",m+1);
	    	//System.out.println(m);
	    	size++;

这里总感觉有问题,打印“中国”的索引位置时有错误
在这这里是wen里插入图片描述
上面是文本内容
在这里插入图片描述
上面是打印的索引位置,明显错误
若有大佬看到,请指点一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值