String = null?

3 respostas
sgtbreitner
Olá Pessoal! Procurei em alguns tópicos dos fóruns antes de vir a postar mas eu não encontrei nada parecido com a minha dúvida então decidi escrever... seguinte, eu estou montando um programa que simula o sorteio da mega sena, vejam o codigo da classe sena1.
public class sena1 {

int num[] = new int[60];    
int i;
String guarda;

public int gerarnumeros(){
    return (int) (Math.random() * 60 + 1);

}
public void definirnumeros(){
  
   num[i] = gerarnumeros(); 
   
}  

public void guardanumero(){
 guarda = guarda + ", " + num[i];
     
}
}
E este é o código com o main:
public static void main(String[] args) {
        
    sena1 rodar = new sena1();
     
    int pergunta = JOptionPane.showConfirmDialog(null, "Deseja realizar sorteio?");   
      if(pergunta == 0){
      do
    {    
      for (int i = 0; i<6; i++){
        
        rodar.definirnumeros();
        rodar.guardanumero();
        
    }
  JOptionPane.showMessageDialog(null,"Os números sorteados são: "+ rodar.guarda );
  pergunta = JOptionPane.showConfirmDialog(null,"Deseja realizar novo sorteio?");
    }
    while (pergunta == 0);
    }
    }

}

A minha dúvida é esta:
Qdo eu compilo o programa e ele me informa os numeros sorteados e sempre aparece null, antes deles, sei que eh por causa da String guarda, mas como fazer p isso nao acontecer mais??
Obrigado!

3 Respostas

W

inicializa sua string invez de deixar ela nula

String guarda = "";

e trata no seu metodo assim

public void guardanumero(){
	if (!guarda.equals(""))
		guarda = guarda + ", " + num[i];
	else
		guarda += num[i];  
}

mas lembrando megasena nao existe numero repetido e no seu código do jeito que tá não trata isso…

e no seu codigo tambem quando vc deseja realizar um novo sorteio, ele vai acumular com os numeros do sorteio anterior tem que limpar essa String ai antes de sortear denovo…
flw

Eder_Peixoto

É porque a String “guarda” está sendo inicializada com ‘null’.
Crie um construtor que a inicialize com algum valor, como: “”. (ou seja, nada).

sgtbreitner

ahmmm blz, eu atribui o valor “” para a string guarda e deu certo msm, putz vou me ligar neste detalhe, qto aos outros problemas que o programa possui estou tentando resolver aki!! se aparecer alguma duvida eu posto denovo!! vlw pelas dicas!!

Criado 1 de junho de 2008
Ultima resposta 1 de jun. de 2008
Respostas 3
Participantes 3