Guardar strings diferentes sempre que o ciclo se repete

Boa tarde,

Estou a aprender java à um mês e meio, na universidade de Lisboa.
Tenho um professor de aulas práticas horrível, que nunca ensina os exercicios todos que devia ensinar nas aulas, e eu tento fazer em casa para aprender sozinho, só que há um exercicio que não consigo fazer, ja pesquisei em inumeros websites e no site da oracle, mas não consigo avançar.

Apreciava muito que alguem me conseguisse ensinar a fazer ciclos (ou for ou while, são os que eu uso nas aulas) que sempre que o ciclo se repete eu consiga guardar diferentes strings em diferentes variaveis, (ou numa só, desde que em linhas diferentes).

Se nao fui muito explicito, digam-me onde por favor, que eu tento explicar melhor,

Se alguem me ajudasse era otimo, muito obrigado,

Abraço pessoal.

Olá, Haxel. Se entendi certo, tua dúvida não é sobre a estrutura do loop (ciclo), mas sobre o contexto das variáveis, é isso mesmo?

Se for, é importante lembrar que a variável declarada dentro do loop não existe fora dele (cannot find symbol). O exemplo abaixo mostra esse erro (código não compilável):

public class TesteLoop {
	public static void main(String[] args) {
		for (int i = 0; i < 10; i++) {
			String abc = "Passo " + i;
		}
		System.out.println(abc); // cannot find symbol
	}
}

Por outro lado, a variável declarada fora do loop continua sendo a mesma depois de passar várias vezes pelo loop. Assim, no exemplo abaixo, a variável soma terminará com o valor 45.

public class TesteLoop {
	public static void main(String[] args) {
		int soma = 0;
		for (int i = 0; i < 10; i++) {
			soma += i;
		}
		System.out.println(soma);
	}
}

Bom, se o objetivo é guardar as strings, vamos imaginar que o texto é digitado pelo usuário do programa, no console. No exemplo abaixo, o programa concatena as strings até que o usuário digite “fim”. Repare que, para ler a entrada padrão, estou usando um utilitário chamado Scanner, do pacote java.util. Se não fizesse isso, teria que ler caracter por caracter. Mais sobre isso aqui: http://www.guj.com.br/java/137702-systemin-como-utilizar.

import java.util.*;
public class TesteLoop {
    public static void main(String[] args) {
		String resultado = "";
		String comando;
		Scanner scanner = new Scanner(System.in);
		do {
			comando = scanner.next();
			resultado += comando + '\n';
		} while (!comando.equals("fim"));
		System.out.println(resultado);
    }
}

Para manipular melhor o resultado, você pode ainda colocá-lo em uma lista.

import java.util.*;
public class TesteLoop {
    public static void main(String[] args) {
		List<String> resultado = new ArrayList<String>();
		String comando;
		Scanner scanner = new Scanner(System.in);
        do {
			comando = scanner.next();
			resultado.add(comando);
		} while (!comando.equals("fim"));
		System.out.println(resultado);
    }
}

Espero ter ajudado!