Como ir diminuindo caracter de uma string?

6 respostas Resolvido
javascriptprogramaçãojava
P

Elabora um algoritmo que lê uma palavra e imprime conforme exemplo a seguir:
palavra: AMOR
A
AM
AMO
AMOR

Não consigo solucionar essa questão, alguém poderia ajudar?
A questão deve ser resolvida seguindo esse exemplo:

System.out.println("Digite uma palavra:");
		palavra = teclado.next();
		tam = palavra.length();
		for (x = 0; x < tam; x++) {
			System.out.println(palavra.charAt(x));
			}
		for (x = tam-1; x >= 0 ; x--) {
			System.out.print(palavra.charAt(x));
		}
	}

}

6 Respostas

I
Solucao aceita
static public void main(String[] args) {
    String amor = "AMOR";
    String partialAmor = "";

    for (int i = 0; i < amor.length(); i++) {
	partialAmor += amor.charAt(i);
	System.out.println(partialAmor);
    }
}
I

Funcionou? :slight_smile:

P

Funcionou simm, muito obrigada!!
Poderia me explicar o pq do +=?

I

Legal!
Claro!
O += é um atalho que significa o mesmo que partialAmor = partialAmor + amor.charAt(i).
Concatenamos cada caractere da palavra original numa segunda string!
Entendeu?

P

vamos la

existe uma forma simples de fazer isso que é usando a API de String e o metodo substring

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#substring(int,%20int)

vantagem: vc não precisa concatenar caracteres para gerar strings

for (int i = 0; i < amor.length(); i++) {
	System.out.println( amor.substring(0, i) ); /* primeiro mostra string entre 0 e 0, depois 0 e 1, depois 0 e 2...*/
}
P

Entendi sim, muito obrigada!!!
Ajudou muito!

Criado 16 de outubro de 2016
Ultima resposta 17 de out. de 2016
Respostas 6
Participantes 3