kate23131241 Ответов: 1

Как заставить счетчик строк работать в этой программе?


Я пробовал использовать int linecount = 0 и linecount++; в конце цикла. Однако он печатается не так, как мне хотелось бы.

Например: он пошел играть
Потом пошел домой

Программа будет печатать
Строка 1: пошел
Строка 1: играть
Строка 2: главная

Мой код выводит
Строка 1: пошел
Строка 2: играть
Строка 3: главная

Что я уже пробовал:

mport java.util.Scanner;
import java.io.*;

public class SpellCheck{
    public static void main(String[] arg) throws FileNotFoundException{
        String dictionary = "";
        Scanner readDict = new Scanner(new File("2.txt"));
        while(readDict.hasNext()){
            String word = readDict.next();
            dictionary = dictionary + " " + word;
       }
           int count = 0;
        Scanner readPaper = new Scanner(new File("1.txt"));
        while(readPaper.hasNextLine()){
          String line = readPaper.next();
                count++;
          Scanner linescan = new Scanner(line);
        
          String wordInPaper = linescan.next();
          
            
           if(!dictionary.contains(wordInPaper)) {
            count++;
     System.out.println("Line: " + count + " "  + wordInPaper);
           
        
        }
     
    }
    
    
    }

}

Richard MacCutchan

Я уже дал вам решение вчера; пожалуйста, не повторяйте тот же вопрос.

Rick York

Поскольку ваша программа написана на языке java, вы должны использовать тег java для вашего вопроса вместо тега C.

1 Ответов

Рейтинг:
0

Patrice T

У вас есть более 1 слова в каждой строке.
Вам нужно 2 вложенных цикла, 1 цикл будет читать строки, а внутренний-одно контрольное слово строки.

Научитесь правильно делать отступы в вашем коде, это покажет его структуру, и это поможет чтению и пониманию. Это также помогает выявлять структурные ошибки.

mport java.util.Scanner;
import java.io.*;

public class SpellCheck{
  public static void main(String[] arg) throws FileNotFoundException{
    String dictionary = "";
    Scanner readDict = new Scanner(new File("2.txt"));
    while(readDict.hasNext()){
      String word = readDict.next();
      dictionary = dictionary + " " + word;
    }
    int count = 0;
    Scanner readPaper = new Scanner(new File("1.txt"));
    while(readPaper.hasNextLine()){
      String line = readPaper.next();
      count++;
      Scanner linescan = new Scanner(line);

      String wordInPaper = linescan.next();


      if(!dictionary.contains(wordInPaper)) {

        System.out.println("Line: " + count + " "  + wordInPaper);
      }
    }
  }
}

Профессиональные редакторы программистов имеют эту функцию и другие, такие как сопоставление скобок и подсветка синтаксиса.
Блокнот++ Главная Страница[^]
личные[^]


kate23131241

можно ли вам показать, как это делается?
Я совсем новичок в языке java.