LucyGill 2016-11-30 12:23 采纳率: 50%
浏览 912
已采纳

初学Java,编写的一段小程序,运行结果有点问题,检查多时未果,求大家指导?

是用来统计出现的词语的数量的程序,第一个文件是一些要统计的词语,第二个是一个空文件,暂时没啥用。
import java.io.*;
import java.util.*;
public class cotest {
public static void main(String args[]){
File readFile=new File("F:/code/coword.txt"),
writeFile= new File("F:/code/hello.txt");
try{
FileReader inOne=new FileReader(readFile);
BufferedReader inTwo=new BufferedReader(inOne);
FileWriter tofile=new FileWriter("hello.txt");
BufferedWriter out=new BufferedWriter(tofile);
String s=null;
int n;
String a=new String();
str_nu new_word=new str_nu();
LinkedList words=new LinkedList();
while((s=inTwo.readLine())!=null){
Scanner sc=new Scanner(s);
while(sc.hasNext()){
a=sc.next();
//System.out.println(a);
n=getIndex(words,a);

                    //System.out.println(n);
                    if(n!=-1){
                        words.get(n).num++;
                        System.out.println(words.get(n).num);
                    }
                    else{
                        new_word.word=a;
                        new_word.num=1;
                        words.add(new_word);
                    }


            }
        }
        for(int i=0;i<words.size();i++){
            System.out.println("单词:"+words.get(i).word+" "+words.get(i).num);
            if(words.get(i).word=="ccc")
                System.out.println("here");
        }
        if(words.get(1).word=="ccc")
            System.out.println("abcd");

        inOne.close();
        inTwo.close();
    }
    catch(IOException e){
        System.out.println(e);
    }

}

private static int getIndex(LinkedList<str_nu> words, String a) {
    // TODO Auto-generated method stub
    for(int i=0;i<words.size();i++){
        if(words.get(i).word==a){
            System.out.println(i);
            return i;

        }
    }

    return -1;
}

}

class str_nu{
String word=new String();
int num;
}

  • 写回答

2条回答 默认 最新

  • 关注

    字符串精确比较要使用String类的equals方法,不能使用 ==

    if(words.get(i).word=="ccc")
    if(words.get(i).word==a){

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Stata 面板数据模型选择
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用