El programas siguiente utilizan esta clase Leer para que funcione, esta clase debe estar en la misma carpeta donde este cada programa. El programas a continuación deben tener esta clase.
Crear este archivo java con el siguiente código:
import java.io.*;
public class Leer{
public static String dato() {
String sdato = "";
try
{
// Definir un flujo de caracteres de entrada: flujoE
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader flujoE = new BufferedReader(isr);
// Leer. La entrada finaliza al pulsar la tecla Entrar
sdato = flujoE.readLine();
}
catch(IOException e) {
System.err.println("Error: " + e.getMessage());
}
return sdato; // devolver el dato tecleado
}
public static short datoShort() {
try
{
return Short.parseShort(dato());
}
catch(NumberFormatException e) {
return Short.MIN_VALUE; // valor más pequeño
}
}
public static int datoInt() {
try {
return Integer.parseInt(dato());
}
catch(NumberFormatException e) {
return Integer.MIN_VALUE; // valor más pequeño
}
}
public static long datoLong() {
try
{
return Long.parseLong(dato());
}
catch(NumberFormatException e) {
return Long.MIN_VALUE; // valor más pequeño
}
}
public static float datoFloat()
{
try
{
return Float.parseFloat(dato());
}
catch(NumberFormatException e)
{
return Float.NaN; // No es un Número; valor float.
}
}
public static double datoDouble() {
try {
return Double.parseDouble(dato());
}
catch(NumberFormatException e) {
return Double.NaN; // No es un Número; valor double.
}
}
}
___________Crear nuevo archivo java con nombre preguntasalazardetablasdemultiplicar____________
import java.io.PrintStream;
public class preguntasalazardetablasdemultiplicar {
public static void main(String[] args)
{
int r=0, resp=0, n1=0, n2=0, b=0, m=0;
double cal;
do
{
n1=(int)(Math.random()*10)+1;
n2=(int)(Math.random()*10)+1;
System.out.printf("\n\n\t¿Cuanto es %2d por %2d?<0>Salir ",n1,n2);
resp=Leer.datoInt();
if (resp > 0 );
{
r=n1*n2;
if(r==resp)
{
b=b+1;
System.out.printf("\n\n\t CORRECTO!!Llevas %2d BUENAS Y %2d MALAS",b,m);
}
else
{
m=m+1;
System.out.printf("\n\n\t INCORRECTO!!Llevas %2d BUENAS Y %2d MALAS",b,m);
}
}
}while(resp!=0);
cal=b*100/(b+m);
System.out.printf("\n\n\t CALIFICACION = %.2f",cal);
}
}
--------------------Configuration: <Default>--------------------
¿Cuanto es 10 por 9?<0>Salir 90
CORRECTO!!Llevas 1 BUENAS Y 0 MALAS
¿Cuanto es 1 por 8?<0>Salir 0
No hay comentarios:
Publicar un comentario