Muito obrigado pela ajuda, salvou meu dia!
Tenho muita dificuldade em programação e não entendi muito bem este conteúdo sobre Exceptions.
Você poderia dar uma olhada e ver se está de acordo o meu código com o que pede o exercício?
Valeu, obrigado pela ajuda!
Exercício
O método abaixo foi construido para retornar o caracter na posição N de
uma String convertido para letras maiúsculas.
public static String upperChar(String s, int n) {
return s.substring(n,n+1).toUpperCase();
Para testar o método, devem ser utilizadas as chamadas abaixo:
a) String c = upperChar(?teste?, 3);
b) String c = upperChar(?outro?, 10);
c) String c = upperChar(?Mais um?, -5);
d) String c = upperChar(null, 2);
Algumas dessas chamadas PODEM provocar erros. Modifique o método de
forma que as chamadas acima funcionem corretamente, implementando
tratamentos de erro que exibem mensagem claras sobre o que está sendo feito
de errado.
Segue abaixo meu código:
public class Exercicio1 {
public static String upperChar(String s, int n) {
return s.substring(n,n+1).toUpperCase();
}
public static void main(String[] args) {
try {
String c1 = upperChar("teste", 3);
System.out.println("A letra é : "+c1);
String c2 = upperChar("outro", 10);
} catch(StringIndexOutOfBoundsException e1) {
System.out.println("ERRO - Não foi possível obter a letra desejada");
try {
String c3 = upperChar("Mais um", -5);
} catch(StringIndexOutOfBoundsException e2) {
System.out.println("ERRO - Não foi possível obter a letra desejada");
}
try {
String c4 = upperChar(null, 2);
} catch(NullPointerException npe) {
System.out.println("ERRO - A palavra é nula");
}
}
}
}