-1

为什么当我在输入文本字段中输入您的名字时出现 4 次“我的名字是”

公共无效比较问题(){

字符串文件名=目录+“memoryBank.txt”;

      String line = null;

    try {

        FileReader fileReader = 
            new FileReader(fileName);

        // Always wrap FileReader in BufferedReader.
        BufferedReader bufferedReader = 
            new BufferedReader(fileReader);

        while((line = bufferedReader.readLine()) != null) {
            String[] parts = line.split(" - ");
            String subject = parts[0];
            String question = parts[1];
            String answer = parts[2];
            //if(input.equals(question) && !subject.equals(currentSubject)){ currentSubject = subject; }
           // if(input.equals(question) && subject.equals(currentSubject)){ Output.append(answer); }
            if(input.contains("what is your name")) { 
                Output.append("my name is"+ newline);
            }
        }   

        bufferedReader.close();         
    }
    catch(FileNotFoundException ex) {
        System.out.println(
            "Unable to open file '" + 
            fileName + "'");                
    }
    catch(IOException ex) {
        System.out.println(
            "Error reading file '" 
            + fileName + "'");
    }
}
4

2 回答 2

1

没有一个运行的例子,我相信你的问题就在这里......

while((line = bufferedReader.readLine()) != null) {
    String[] parts = line.split(" - ");
    String subject = parts[0];
    String question = parts[1];
    String answer = parts[2];
    //if(input.equals(question) && !subject.equals(currentSubject)){ currentSubject = subject; }
    // if(input.equals(question) && subject.equals(currentSubject)){ Output.append(answer); }
    if(input.contains("what is your name")) { 
        Output.append("my name is"+ newline);
    }
}   

基本上,在循环的每次运行中,如果JTextField input包含 text what is your name,它会将 附加String "my name is"+ newline到文本字段。如果文件中有 4 个问题,它将被追加 4 次,如果您有 100 个问题,它将被追加 100 次。

于 2013-03-17T08:32:02.723 回答
0

在玩了几个小时后,我在 MadProgrammer 的帮助下设法修复了它。固定代码:

我无法让块报价工作,所以这是一张图片:

在此处输入图像描述

于 2013-03-17T09:20:44.080 回答