Ayuda con mi codigo
Necesito ayuda con mi codigo lo que pasa es lo siguente
Lo que debe hacer el programa:
1.El estudiante debe poder tener como máximo 3 intentos para dar la respuesta al
problema, si no lo logra a los tres intentos, se debe desplegar la respuesta
correcta y debajo de ella toda la tabla de multiplicar.
//cuando ingreso un valor valido incorrecto a la respuesta no me vuelve a preguntar otra vez simplemente me manda el mensaje respuesta equivocada 3 veces y se sale
import javax.swing.*;
class Tablas {
private int num1;
private int num2;
public void asignar(int n1,int n2){
num1=n1;
num2=n2;
}
public int multiplicar(){
int multi=0;
multi=num1*num2;
return multi;
}}
public class Main1 {public static void main(String[] args) {
int c=0,c1=0;
int multi=0;
int resp=0;
String tabla="";
String respu="";
String input="";
boolean r=false;
Tablas obj=new Tablas();
Icon bienve=new ImageIcon("bienvenidos.jpg");
Icon mala=new ImageIcon("mala.jpg");
Icon buena=new ImageIcon("Buena.jpg");
int num1 = (int)(Math.random()*9+1);
int num2 = (int)(Math.random()*9+1);
obj.asignar (num1,num2);
multi=obj.multiplicar ();
JOptionPane.showMessageDialog(null,"Cuanto es:\n"+num1+"*"+num2+"?","Bienvenido al mundo de las matematicas",JOptionPane.INFORMATION_MESSAGE,bienve);
respu=JOptionPane.showInputDialog (null,"\nQuieres dar tu respuesta?\nsi/no");
switch (respu){
case "si":{
while(c<3)
{
while(r==false)
{
try{
input=JOptionPane.showInputDialog (null,num1+"*"+num2+"?"+"\nMI RESPUESTA ES:");
resp=Integer.parseInt (input);
if (resp<0||resp>=0)
r=true;
}
catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,"ERROR DECONVERSION","Bienvenido al mundo de las matematicas",JOptionPane.INFORMATION_MESSAGE,null);
}
}
if (resp!=multi)
{JOptionPane.showMessageDialog (null,"RESPUESTA EQUIVOCADA","Bienvenido al mundo de las matematicas",JOptionPane.WARNING_MESSAGE,null);
c=c+1;}
else
{JOptionPane.showMessageDialog (null,"Mi respuesta A:\n"+num1+"*"+num2+"?\n"+"ES:\t"+resp+"\n******EXCELENTE*****","Bienvenido al mundo de las matematicas",JOptionPane.INFORMATION_MESSAGE,buena);
c=22;}
}
break;}
case "no":{
c=12;
break;}
}
if (c>=3){
for ( c1=1; c1<=9; c1++)
{
tabla=tabla+(num1+" x "+c1+" = "+(num1*c1))+"\n";
}
JOptionPane.showMessageDialog (null,"Mi respuesta A:\n"+num1+"*"+num2+"?\n"+"ES:\t"+resp+"\n******sorry*****\n"+"La respuesta correcta era:"+multi+"\n\n"+tabla,"Bienvenido al mundo de las matematicas",JOptionPane.INFORMATION_MESSAGE,mala);
}}
}
- JasonVasquezPTY's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
=D
Ya esta Amigo solo le agrege un do while y le puse que imprima la tabla si se pasa de 3 intentos
class Tablas {
private int num1;
private int num2;
public void asignar(int n1,int n2){
num1=n1;
num2=n2;
}
public int multiplicar(){
int multi=0;
multi=num1*num2;
return multi;
}}
public class Main1 {
public static void main(String[] args) {
int c=0,c1=0;
int multi=0;
int resp=0;
String tabla="";
String respu="";
String input="";
boolean r=false;
Tablas obj=new Tablas();
Icon bienve=new ImageIcon("bienvenidos.jpg");
Icon mala=new ImageIcon("mala.jpg");
Icon buena=new ImageIcon("Buena.jpg");
int num1 = (int)(Math.random()*9+1);
int num2 = (int)(Math.random()*9+1);
obj.asignar (num1,num2);
multi=obj.multiplicar ();
JOptionPane.showMessageDialog(null,"Cuanto es:\n"+num1+"*"+num2+"?","Bienvenido al mundo de las matematicas",JOptionPane.INFORMATION_MESSAGE,bienve);
respu=JOptionPane.showInputDialog (null,"\nQuieres dar tu respuesta?\nsi/no");
switch (respu){
case "si":{
do{
try{
input=JOptionPane.showInputDialog (null,num1+"*"+num2+"?"+"\nMI RESPUESTA ES:");
resp=Integer.parseInt (input);
if (resp<0||resp>=0)
r=true;
}
catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,"ERROR DECONVERSION","Bienvenido al mundo de las matematicas",JOptionPane.INFORMATION_MESSAGE,null);
}
if (resp!=multi){
JOptionPane.showMessageDialog (null,"RESPUESTA EQUIVOCADA","Bienvenido al mundo de las matematicas",JOptionPane.WARNING_MESSAGE,null);
c++;
}else{
c=100;
}
}while(c<3 && c!=100);
if (c==3){
for ( c1=1; c1<=9; c1++){
tabla=tabla+(num1+" x "+c1+" = "+(num1*c1))+"\n";
}
JOptionPane.showMessageDialog (null,"Mi respuesta A:\n"+num1+"*"+num2+"?\n"+"ES:\t"+resp+"\n******sorry*****\n"+"La respuesta correcta era:"+multi+"\n\n"+tabla,"Bienvenido al mundo de las matematicas",JOptionPane.INFORMATION_MESSAGE);
}else{
JOptionPane.showMessageDialog (null,"Mi respuesta A:\n"+num1+"*"+num2+"?\n"+"ES:\t"+resp+"\n******EXCELENTE*****","Bienvenido al mundo de las matematicas",JOptionPane.INFORMATION_MESSAGE);
}
break;
}
case "no":{
c=12;
break;
}
}
}
}