import java.io.*;
public class test
{
public static void main(String args[]) throws IOException
{
char data[]=new char[1024]; // 建立可容纳1024个字符的数组
FileReader fr=new FileReader("d://abcd.txt"); // 建立对象fr
int num=fr.read(data); // 将数据读入字符列表data内
String str=new String(data,0,num); // 将字符列表转换成字符串
System.out.println(num);
System.out.println(str);
String[] part=str.split("");
int sum1;
sum1=0;
for(int i=1;i<=part.length-1;i++)
{
if(part[i]=="多")
{
sum1=sum1+1;
}
}
System.out.println(sum1);
}
}
abcd.txt里面就五个字:最多选五门输出结果:
5
最多选三门
0正常结果sum1应该是1才对,不知道为什么?
将中间判断改为part[i].equals("多")就可以得出正常结果,难道不能用==做字符串之间的比较?
equals()适用于所有对象,不过有时也出错,最好的方法是重写equals()方法。