Problemas com For/While

2 respostas
airmigjr

Pessoal,
Fui resolver um exercício simples de For, e fazendo-o, me deparei com um problema:
Porque aparece "null" na resposta do programa??? Como resolver ??? Tentei de diversas maneiras...

package For;

import javax.swing.JOptionPane;

public class For {

	private int numeroDePerguntas;
	private String dado, concatena;
	
	
	
	public String perguntaEGuarda(){
		
		numeroDePerguntas = Integer.parseInt(JOptionPane.showInputDialog("Quantos dados quer inserir?"));
		int i = 1;
		while (i <= numeroDePerguntas){
		//for (int i=1; i<=numeroDePerguntas; i++){
		
			dado = JOptionPane.showInputDialog("Qual o dado?");
			
			
			concatena = concatena + dado;
			i++;
		}
		return concatena;
	}
	
	public static void main(String[] args) {
		
		For f = new For();
		
		System.out.println(f.perguntaEGuarda());

	}

}

2 Respostas

ViniGodoy

Por que sua variável concatena não foi inicializada com nada. Então, ela vale null.

Na primeira vez que essa linha rodar:
concatena = concatena + dado;

Ele vai pegar o valor dela “null” e concatenar com o primeiro dado.

Se quiser eliminar esse problema, inicialize as variáveis:

private String dado = ""; private String concatena = "";

airmigjr

Vini, como sempre, vc eh o cara…
Eu achava q isso não era correto, que seria como inicializar com um caractere “nada”, então não via diferença entre “” ou null… por isso não via saída…

Obrigado,

Criado 4 de fevereiro de 2013
Ultima resposta 4 de fev. de 2013
Respostas 2
Participantes 2