Ed
há 3 semanas
Vamos analisar o código apresentado e as opções de resposta. O código é o seguinte: ```java class Main { public static void main (String[] args) { String message = "Hello world!"; String newMessage = message.substring(6, 12) + message.substring(12, 6); System.out.println(newMessage); } } ``` 1. Analisando `message.substring(6, 12)`: Isso vai extrair a substring da posição 6 até a posição 12 da string "Hello world!", que resulta em "world". 2. Analisando `message.substring(12, 6)`: Aqui, a chamada `substring(12, 6)` é problemática. O método `substring` espera que o primeiro argumento (início) seja menor que o segundo (fim). Como 12 é maior que 6, isso resultará em uma `StringIndexOutOfBoundsException`, ou seja, uma exceção em tempo de execução. Agora, vamos analisar as alternativas: A. Imprimirá string vazia - Incorreta, pois não imprimirá nada antes da exceção. B. "world!!world" - Incorreta, pois não é o resultado do código. C. "world!world!" - Incorreta, pois não é o resultado do código. D. Será lançada uma runtime exception - Correta, devido à chamada inválida de `substring`. E. O código não irá compilar - Incorreta, o código compila, mas gera uma exceção em tempo de execução. Portanto, a resposta correta é: D. Será lançada uma runtime exception.