Bom dia amigos, estou com um problema para resolver mais sou novo no mundo da programação em java e estou tendo dificuldades
gostaria que os amigos apenas comentassem este codigo que eu peguei em outro topico, se apenas comentarem dizendo oq cada variavel faz por exemplo ja me ajudariam muito.
segue o Codigo a baixo:
publicclassmegaSena{publicstaticvoidmain(String[]args){Scannersorte=newScanner(System.in);intqtdCartelas=10;intqtdDezenas=6;Stringjogo;Stringresultado="";Strings="";intx=1;intdezena;intqtde=1;doublenum=0;System.out.println("Digite a Quantidade de Jogos: ");qtdCartelas=sorte.nextInt();while(qtde<qtdCartelas){jogo="";x=1;while(x<=qtdDezenas){num=Math.random();s=String.valueOf(num);s=s.substring(6,8).trim();dezena=Integer.valueOf(s);if(dezena>=1&&dezena<=60&&!jogo.contains(s)){jogo=jogo+"-"+String.valueOf(dezena);}}resultado=resultado+"\n"+jogo;qtde++;}System.out.println(resultado);}}
Para você entender não adianta comentar o código. É mais fácil você perguntar quais são as suas duvidas sobre o código. Aconselho também a escrever seu próprio código. Só assim você vai conseguir entender.
L
leandroendrix
Gleidson, boa tarde! Tudo bem com você?
Segue conforme solicitado. Eu fiz alterações em função de algumas inconsistências no aplicativo. Sinceramente eu não consegui compreender qual é real objetivo desse aplicativo, mas está funcionando.
Ele pode ser melhorado, principalmente no quesito de O.O. e poderia ser aplicada uma lógica de programação mais assertiva. Eu decidi deixa-lo mais próximo da versão enviada por você. Espero que eu possa ajuda-lo com seus estudos. Boa sorte.
importjava.util.Scanner;// Foi necessário incluir essa linha, em função do uso do método "NextInt"//Declaração de classepublicclassMegaSena{//Declaração do método mainpublicstaticvoidmain(String[]args){//Cria um objeto do tipo Scanner para receber dados digitados em tela.Scannersorte=newScanner(System.in);//OBS:Iniciar com valor 10. Mas quando executa( qtdCartelas = sorte.nextInt ) valor é sobrescrito.//Penso que não faz sendito começar com valor padrão uma vez que ele será informado em seguida.intqtdCartelas=10;//Captura dados em tela digitado pelo usuáro e Referência para primeiro whileintqtdDezenas=6;//Referência para segundo while//Declaração de variáveis do tipo StringStringjogo;//Recebe valores dentro do IFStringresultado="";//Recebe valores da variável (jogo) Strings;//Recebe valores aleatórios convertidos em StringStrings1;//Recebe os dois últimos dígitos de num( que gera valores aleatórios )//Declaração de variáveis do tipo intintx=1;//Contador para segundo whileintdezena=1;//Recebe os dois últimos dígitos de num( que gera valores aleatórios )intqtde=1;//Contador que não tem função no aplicativodoublenum=0;//Recebe sequência de números aleatórios de 0 até 0.999//Recebe quantidade de cartelas. Registro é informado pelo usuário.System.out.print("Digite a Quantidade de Jogos: ");qtdCartelas=sorte.nextInt();//Recebe valor digitado pelo usuário, graças declaração do ( import java.util.Scanner )//Executa até que ( qtde ) seja menor que qtdCartelas( Valor esse informado pelo usuário )while(qtde<qtdCartelas){jogo="";x=1;//Executa até que x( Valor fixo 1 ) seja menor que qtdDezenas( valor fixo 6 )while(x<=qtdDezenas){//Método "random" da classe Math: gera um número aleatório de 0 até 0.9999 num=Math.random();//Coverte Double para Strings=String.valueOf(num);//Impressão a partir do índice 16 da String//Mudei de 6 para 16 porque você converte (dezena) para inteiro,//Se tivesse mantido 6 haveria estouro na variável integer//Assim vamos pegar sempre os dois últimos dígitos de nums1=s.substring(16);//Recebe sequência de números a partir do dígito 16 dezena=Integer.valueOf(s1);//Executa somente se dezena estiver entre 1 e 60 e que //Em (jogos) não tenha número dezena if(dezena>=1&&dezena<=60&&!jogo.contains(s)){jogo+="-"+String.valueOf(dezena);}x++;//Fiz inclusão dessa atribuição para que while seja encerrado }//Fim do segundo whileresultado=jogo;//(resultado) recebe jogo. qtde++;//Atribui valor na variável (qtde). Não entendi por quê foi feira essa atribuiçao??}//Fim do primeiro while //Impressão da variável (Resutado)System.out.printf("Resultado:%s",resultado);}//Fim do método main }//Fim classe