Когда string.length () равен 0, выдается исключение

У меня есть следующее упражнение:

В этом упражнении вы создадите два метода, которые имеют дело с exceptions. Одним из методов является метод main(), который вызывает другой метод.

Если исключение выдается в другом методе, main() должно иметь дело с ним. Оператор finally будет включен, чтобы указать, что программа завершилась. Метод, который вызовет main(), будет называться reverse, и он обратит порядок символов в String. Если String не содержит символов, обратный будет распространять исключение до метода main().

  1. Создайте класс с именем Propagate и метод main(), который пока останется пустым.
  2. Создайте метод с именем reverse. Он принимает аргумент String и возвращает String.
  3. В reverse проверьте, имеет ли длина String значение 0, используя метод String.length(). Если длина равна 0, метод reverse сгенерирует исключение.
  4. Теперь включите код для изменения порядка String. Поскольку это не основная тема этой главы, был предоставлен код реверсирования, но вы можете попробовать его самостоятельно.

    String reverseStr = ""; for (int i = s.length () - 1; i> = 0; - i) {reverseStr + = s.charAt (i); } return reverseStr;

  5. Теперь в методе main() вы попытаетесь вызвать этот метод и разобраться с любыми потенциальными исключениями. Кроме того, вы включите оператор finally, который отображается после завершения main().

Проблема в том, что даже если String.length() равно 0, исключение не выдается:

import java.util.*;
import java.util.Scanner;
import java.lang.IllegalArgumentException;

public class TryAndCatch {
    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);
        System.out.print("Enter: ");
        String entry = keyboard.next();
        try {
            if (entry.length() == 0) {
            }
        }

        catch (IllegalArgumentException e) {
            System.err.println("String can't have 0 characters: " + e.getMessage());

        }
        System.out.println("The reverse String is : " + TryAndCatch.reverse(entry));

        keyboard.close();
    }

    static String reverse(String text) {

        String reverseString = "";

        for (int i = text.length() - 1; i >= 0; i--) {

            reverseString += text.charAt(i);

        }

        return reverseString;
    }

}
-10
задан Damián Rafael Lattenero 23 July 2019 в 21:39
поделиться