Novamente estou com uma dúvida, agora sobre as funcionalidades de um método da classe String, o “subtring()”.
Meu professor me pediu para armazenar em uma string todos os meses por extenso, exemplo: “janeiro, fevereiro, março… dezembro”, onde devo completar com espaços os meses para que fiquem todos do mesmo tamanho e depois através de uma classe chamada ObterMes, informar um número de mês (int) para que apareça o correspondente em texto.
Agora as dúvidas:
O método substring permite que eu retorne a sequência da string a partir de um determinado ponto, quando informo apenas um valor de int dentro do mesmo e quando informo dois numeros ele vai até a posição pelo primeiro int e pelo segundo retorna a qtde de caracteres da string certo?
Suponhamos que minha string tenha 10 caracteres até chegar a cada virgula que separa o nome de cada mês, de que jeito que isso vai funcionar usando o substring?
substring não tem stress, é o ponto inical e o ponto final que vc quer cortar.
Exemplo:
Teste
01234
substring(0,2) = Te
substring(1,4) = est
substring(0,5) = Teste
Repara que o caracter da última posição não é incluido!
E o primeiro caracter é o Zero
Agora se tens meses janeiro,fevereiro,março,abril…
Podes fazer assim:
String nome_meses = "janeiro,fevereiro,março,abril";
String[] meses = nome_meses.split(",");
for (int x = 0; x < meses.length; x++) {
System.out.println(meses[x]);
}
Vocês foram na ferida, certinho mesmo… dos dois jeitos da certo, a questão é que ele está ensinando substring se usar split, se eu usar ele vai considerar errado.
Mas deu certinho os dois exemplos.
Se não puder usar split, basta iterar os caracteres com um laço e o indexOf e quando achar a vírgula, substituí-la por um espaço vazio “” ou em branco " "