Подсчет букв, символов и строк

250
11 декабря 2017, 15:24

Программа должна подсчитывать кол-во букв, символов и строк. Для выхода из цикла есть оператор if, который при вводе пустой строки автоматически завершает его. И теперь столкнулся с проблемой чтения текстов, у которых предложения могут быть разделены пустой строкой. Как можно модернизировать код, чтобы при первой же пустой строки он не выходил из цикла?

import java.util.Scanner;
public class Problema006 {
    public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    String in = null;
    int counter1 = 0;
    int counter2 = 0;
    int counter3 = 0;
    while ((in = scan.nextLine()) != null || scan.hasNextLine() ){

        if(in.equals(""))
                break;
        char[] tmp = in.toCharArray();
        for (int i = 0; i < tmp.length; i++) {
            if (Character.isDigit(tmp[i])) {
                counter1++;
            }
            else if(Character.isLetter(tmp[i])){
                counter2++;
            }
        }
        counter3++;
    }
    System.out.printf("%3d letters\n%3d digits\n%3d lines \n", counter2, counter1, counter3);
    scan.close();
}
}

И для примера есть текст:

Capítulo 1

En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los lanza en astillero, adarga antigua, rocín flaco y galgo corredor.

Capítulo 2

Hechas, pues, estas prevenciones, no quiso aguardar más tiempo a poner en efeto su pensamiento, apretándole a ello la falta que él pensaba que hacía al mundo su tardanza, según eran los agravios que pensaba deshacer, tuertos que enderezar, sinrazones que enmendar y abusos que mejorar y deudas que satisfacer.

И выход: 406 letters 2 digits 11 lines

READ ALSO
Разница между parallel() and parallelStream()?

Разница между parallel() and parallelStream()?

Какая разница между parallel() and parallelStream()? Что-то ни дока ни инфа в инете пока не помогаютЕсли это важно, то для примера возьмем обычный arraylist c 100 000 элементов

209
Сортировка TreeSet [требует правки]

Сортировка TreeSet [требует правки]

Если я использую TreeSet для сортировки элементов (товаров с полями category, name, price), как я могу заменить одно из этих полей на значение, которое пользователь...

219
Помогите пожалуйста решить задачу

Помогите пожалуйста решить задачу

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

241