To pirando a cabeça tentando resolver o exercicio do capitulo 6 num.31 dos Deitel. Preciso que alguem dê uma olhada e se possivel uma dica no meu código que não funciona corretamente. obrigado.
[code]//Capitulo 6 Exercicio 6.31
//Escreva um programa que ajude um aluno a aprender multiplicação.
//Ultilize Math.random para gerar doi inteiro positivos de um algarismo.
//Então deve ser exibida uma mensagem na barra de status bem como:
//Quanto é 6 vezes 7?
//O aluno então digita a resposta em uma JTextField. A seguir, o programa verifica
//a resposta do aluno. Se ela estiver correta ele desenha o String “MUITO BOM!”
//no applet, e faz outra pergunta de multiplicação. Se a resposta estiver errada
// ele desenha o string “NÃO. TENTE NOAMENTE.” E deixa o aluno responder
//a mesma pergunta repetidas vezes até que o aluno por fim responda corretamente
//Deve se ultilizar um método separado para gerar cada nova pergunta. Esse método
//deve ser chamado uma vez quando o applet inicia a execução e toda vez que
//o usuario responde uma pergunta corretamente. Todo desenho no applet deve
//ser realizado pelo metodo paint.
import java.awt.Event;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class e6xe631 extends JApplet implements ActionListener {
JLabel expLabel,inputLabel;
JTextField inputField;
JButton testeButton;
int input=0,result,
num1,num2;
int numero;
boolean firstTime=true;
public void init(){
//configura container
Container container = getContentPane();
container.setBackground(Color.white);
container.setLayout(new FlowLayout());
//cria rotulo explicativo
expLabel=
new JLabel ("MULTIPLICAÇÃO");
container.add(expLabel);
//cria rotulo para entrada de dados
inputLabel=
new JLabel("A resposta certa é?");
container.add(inputLabel);
//cria entrada para a resposta certa
inputField=
new JTextField(10);
container.add(inputField);
//cria butão para testar a resposta
testeButton=
new JButton ("TESTAR");
testeButton.addActionListener(this);
container.add(testeButton);
}//fim do metodo init
public void actionPerformed (ActionEvent e){
num1=random();
num2=random();
if ( e.getSource() == testeButton){
showStatus("Quanto é "+random()+"vezes "+random());
input = Integer.parseInt( inputField.getText());
calculo(result);
repaint();
inputField.setText("");
}
}//fim do metodo action
public int calculo(int result){
result=random()*random();
return result;
}
public int random (){
numero= 1 +(int)(Math.random()*9);
return numero;
}
public void mensagemC (Graphics g){
g.drawString("PARABENS!",50,145);
g.drawString("Resposta Correta",50,160);
}
public void mensagemE (Graphics g){
g.drawString("Tente novamente",50,145);
}
public void mensagemI (Graphics g){
g.drawString( "Pressione TESTAR para iniciar",10,130);
}
public void paint (Graphics g){
super.paint(g);
if(firstTime==true){
mensagemI(g);
firstTime=false;
}else
if(result==input){
mensagemC(g);
}else if(calculo(result)!=input)
mensagemE(g);
}
}[/code]