none
Voltar para cima e executar novamente RRS feed

  • Pergunta

  • Pessoal, em um ConsoleApplication gostaria de fazer o seguinte. Tenho o seguinte código:

    1 - Random r = new Random();

    2 - string[] perguntas = new string[2]

    3 - perguntas[0] = "bla";

    4 - perguntas[1] = "ble";

    5 - perguntas[2] = "blo";

    6 - r.Next(3)

    7 - IF (r == 0 && perguntas[r] == "" || r == 1 && perguntas[r] == "" || r == 2 && perguntas[r] == "")

    8 - {
    9 -         //Gostaria que aqui ele voltasse para a linha 6 caso algumas das perguntas estiver vazia, ele pegasse outro

    10- número randomico e ficasse fazendo isso até encontrar uma pergunta não vazia.

    11-}

    Tem que ser exatamente dessa forma, como digo para ele reexecutar o random e fazer novamente a checagem? Por favor expliquem com o maximo de detalhes possível. Obrigado

    terça-feira, 24 de novembro de 2015 12:12

Respostas

  • Bom dia.

    Por que não um Do/While?

    do
    {
    	r.Next(3)
    
    	if (r == 0 && perguntas[r] == "" || r == 1 && perguntas[r] == "" || r == 2 && perguntas[r] == "")
    	{
    		// Faz aqui a lógica necessária
    	}
    } while (condicao); // Verifica a condição, enquanto ela for verdadeira, refaz todo bloco de código


    Att., Rafael Simor

    terça-feira, 24 de novembro de 2015 12:33

Todas as Respostas

  • Bom dia.

    Por que não um Do/While?

    do
    {
    	r.Next(3)
    
    	if (r == 0 && perguntas[r] == "" || r == 1 && perguntas[r] == "" || r == 2 && perguntas[r] == "")
    	{
    		// Faz aqui a lógica necessária
    	}
    } while (condicao); // Verifica a condição, enquanto ela for verdadeira, refaz todo bloco de código


    Att., Rafael Simor

    terça-feira, 24 de novembro de 2015 12:33
  • Vou testar quando chegar em casa, obrigado!
    terça-feira, 24 de novembro de 2015 12:42
  • Consegui, usei um while mesmo. Ficou mais ou menos assim:

    string[] perguntas = new string[3];
            perguntas[0] = "bla";
    	perguntas[1] = "ble";
    	perguntas[2] = "";
    		
            Random r = new Random();
    	int i = r.Next(3);
    		
           while (i == 0 && perguntas[0] == "" || i == 1 && perguntas[1] == "" || i == 2 && perguntas[2] == "")
    		{
    			
    		   i = r.Next(3);	
    			
    		}	
    		Console.WriteLine(perguntas[i]);
    			
    		Console.WriteLine("Saimos do While com sucesso");
    		Console.ReadLine();
    		

    Funcionou e consegui terminar a aplicação que eu queria, muito obrigado!!

    quarta-feira, 25 de novembro de 2015 11:32