Ajudem-me amigos

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]

o que não funciona corretamente?

Dei mais uma reavaliada e cheguei a conclkusão de inumeros erros que já resolvi. obrigado pela pre disposição irmão. valeu. abraço