preciso utilizar o metodo sorteiaNumeros na classe abaixo:
classe TelaJogo, quando clicar no botão verificar
privatevoidjBVerificaAcertosActionPerformed(java.awt.event.ActionEventevt){aposta=newCartaoAposta(10);qtdeNumeros=checaNumeros();if(qtdeNumeros>=6&&qtdeNumeros<=10){
aposta.setNumeroAposta();armazenaAposta();resultado.setText(aposta.numeroAposta()+"\n"+aposta.numerosCartao());}else{
resultado.setText("Qtde selecionada deverá estar no intervalo de 6 a 10 números");}
}
não sei como chamar o método, ja tentei instanciar mas não aparece o método.
Você tem que mudar o modificador private para public
fabiomarcilio
putz, que vacilo,rs… olhei essas linhas um tempão e não vi!, valew InicianteJavaHenrique.
InicianteJavaHenriqu
De nada
Agora só falta vc colocar [RESOLVIDO] no título.
:thumbup:
fabiomarcilio
:thumbup:
fabiomarcilio
aproveitando o topico, tem outro problema, ao chamar o método totAcertos, para comparar com os numeros que o user escolheu ele retorna o erro:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
segue o metodo:
publicStringnumeroAposta(){Stringaposta="Aposta N."+getNumeroAposta()+"\nValor da aposta R$ "+calculaAposta()+"\n Total de acertos: "+totAcertos();returnaposta;}publicinttotAcertos(){intacertos=0;for(intc=0;c<6;c++){for(inta=0;a<numeros.length;a++){if(numeros[c]==sorteio[a]){acertos++;}}}returnacertos;}}
o problema esta em totAcertos, pois quando nao imprimo ele tudo funciona
InicianteJavaHenriqu
:shock: engraçado vc iniciou a variável acertos :shock: tem certeza que é nesse método a exceção :?:
:thumbup:
fabiomarcilio
então, é só tirar a chamada do metodo totAcertos() que o programa volta a funcionar:
Esse esta em uma classe chamada CartaoAposta()
publicStringnumeroAposta(){Stringaposta="ApostaN."+getNumeroAposta()+"\nValordaapostaR$"+calculaAposta()+"\nTotaldeacertos:"+totAcertos(); // é só tirar isso (+ "\nTotaldeacertos:"+totAcertos())quetudofuncionareturnaposta;}
é só tirar o que esta antes do comentado acima que tudo funciona, as duas classes puxam herança de uma terceira classe chamada Cartao
e esse em outra classe chamada CartaoSorteio()
É difícil visualizar o problema assim, se a classe(s) não for muito grande e se você pode postar, talvez acharemos o problema (não é certeza)
:thumbup:
fabiomarcilio
verdade Henrique, vou postar as 2 classes,
Essa é a classe TelaJogo, que é a main, nao da p/ colocar inteira, pois são 60 botoes c/ numeros de 1 a 60, mas o botão verifica é o que faz as comparaçoes.
publicclassTelaJogoextendsjavax.swing.JFrame{privateintqtdeNumeros;privateCartaoApostaaposta;privateCartaoSorteiosorteio;/** Creates new form TelaJogo */publicTelaJogo(){initComponents();qtdeNumeros=0;}privatevoidjBVerificaAcertosActionPerformed(java.awt.event.ActionEventevt){sorteio=newCartaoSorteio();aposta=newCartaoAposta(10);qtdeNumeros=checaNumeros();sorteio.sorteiaNumeros();if(qtdeNumeros>=6&&qtdeNumeros<=10){aposta.setNumeroAposta();armazenaAposta();resultado.setText(aposta.numeroAposta()+"\n"+aposta.numerosCartao()+"\n");}else{resultado.setText("Qtde selecionada deverá estar no intervalo de 6 a 10 números");}}
E essa é a classe CartaoAposta:
packageJogoDosNumeros.classes;/** * * @author Fabio */publicclassCartaoApostaextendsCartao{privatestaticintnumeroAposta;publicCartaoAposta(intqtde){super(qtde);}publicfloatcalculaAposta(){floatvalor=0;if(contNumeros==6){valor=1.75f;}elseif(contNumeros==7){valor=12.25f;}elseif(contNumeros==8){valor=49.00f;}elseif(contNumeros==9){valor=147.00f;}elseif(contNumeros==10){valor=367.50f;}returnvalor;}publicintgetNumeroAposta(){returnnumeroAposta;}publicvoidsetNumeroAposta(){numeroAposta++;}publicStringnumerosCartao(){StringBuilderdados=newStringBuilder("Números apostados:\n");// String aposta="Aposta N."+getNumeroAposta();for(intnum:numeros){dados.append(num+"\t");}returndados.toString();}publicStringnumeroAposta(){Stringaposta="Aposta N."+getNumeroAposta()+"\nValor da aposta R$ "+calculaAposta()+"\n Total de acertos: "+totAcertos();returnaposta;}publicinttotAcertos(){intacertos=0;for(intc=0;c<6;c++){for(inta=0;a<numeros.length;a++){if(numeros[c]==sorteio[a]){acertos++;}}}returnacertos;}}