PessoALL, mais uma vez estou com dúvidas. Relutei mto em postar esse programa aqui, mas confesso que esgotei minhas fontes de pesquisas… Quem puder, dá uma compilada nele e se der, me passa uma orientação em como corrigi-lo.
//Programa que formula uma sentença e obtem uma resposta da criança.
//Compara e exibe a resposta
import javax.swing.JOptionPane;
public class Tabuada
{
String nome, a, b, auxS, op;
int x, y, auxI, resp_sistema, resp_aluno;
Tabuada Aluno = new Tabuada();
public void Inicia()//Método onde acontece a formulação e obtenção das respostas
{
JOptionPane.showMessageDialog(null, "Vamos lá, " + Aluno.nome + "! Estou sorteando a sentença...");
Aluno.x = (int)(Math.random()*10);//Randomizo o multiplicando
Aluno.y = (int)(Math.random()*10);//Randomizo o multiplicador
Aluno.resp_sistema = (Aluno.x * Aluno.y);//Faço a conta e obtenho a resposta do sistema
Aluno.a = Integer.toString(Aluno.x);//Converto o valor do multiplicando para String
Aluno.b = Integer.toString(Aluno.y);//Converto o valor do multiplicador para String
Aluno.auxS = JOptionPane.showInputDialog("Resolva: " + Aluno.a + " X " + Aluno.b); //Armazena a resposta do aluno
Aluno.resp_aluno = Integer.parseInt(Aluno.auxS); //Converti a resposta do aluno para inteiro
if (Aluno.auxI != Aluno.resp_aluno)//Aqui, comparamos as respostas (Sistema x Aluno)
{
Aluno.op = JOptionPane.showInputDialog("EI!!!! Esta não é a resposta. Quer tentar novamente?(S/N)");
if (Aluno.op.equals("S"))//Comparamos a resposta (S/N)
{
Denovo(); //Caso positivo, executamos Denovo()
}
else //Caso negativo
{
JOptionPane.showMessageDialog(null, "Obrigado por participar, " + Aluno.nome);
System.exit(0); //Encerramos o programa
}
}
else
{
Aluno.op = JOptionPane.showInputDialog("CARACA!! A resposta está correta! Quer tentar novamente?(S/N)");
if (Aluno.op.equals("S"))
{
Denovo();
}
else
{
JOptionPane.showMessageDialog(null, "Obrigado por participar, " + Aluno.nome);
System.exit(0);
}
}
}
public void Denovo()
{
Inicia();
}
public static void main (String args[])
{
Aluno.nome = JOptionPane.showInputDialog("Oi... me diz o seu nome:");
Inicia();
}
}
Esse programa deveria criar uma sentença, (multiplicação), exibí-la e solicitar a resposta. Após compará-la, iria exibir se estaria certa ou errada. O problema, (teoricamente), está nos métodos… Inicia() e Denovo(). O compilador que eu estou usando é o GEL no ruindows 98. Ele me apresenta 2 erros. Diz algo como não poder chamar um método não estático dentro de um método estático.
Valeu a todos…