Hoa a todos. Aquí mi código de respuesta al ejercicio CU00908C del tutorial de programación Java.
GRACIAS
package practicas.avanzadas;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
/**
* Adivinar un número generado de forma aleatorio
* Código para aprender a programar
* @author pepote21
* @version 20170131
*/
public class GeneradorNumAleatorio {
Scanner sc=new Scanner(System.in);
int numSecreto[];
int numInicial=0;
int numFinal=0;
int numIntentos=0;
int numPensado=0;
int fallos;
int aciertos;
Random rnd=new Random();
String respuesta="";
public void introRango(){
System.out.print("Introduzca el número inicial del rango: ");
numInicial=sc.nextInt();
System.out.print("Introduzca el número final del rango: ");
numFinal=sc.nextInt();
}
public int introIntentos(){
System.out.print("Introduzca el número de intentos: ");
numIntentos=sc.nextInt();
return numIntentos;
}
public void intentarAcertarNumSecreto(){
fallos=0;
aciertos=0;
numSecreto=new int[numIntentos];
for(int i=0; i<numIntentos; i++){
System.out.print("¿Qué número estoy pensando?: ");
numPensado=sc.nextInt();
numSecreto[i]=rnd.nextInt(numFinal-numInicial)+numInicial;
if(numPensado!=numSecreto[i]){
System.out.println("No has acertado");
fallos++;
}else{
System.out.println("Has acertado");
aciertos++;
}
}
System.out.println("Has acertado "+aciertos+" veces y has fallado "+fallos+" veces.");
}
public void mostrarArray(){
System.out.print("Eran solución: ");
System.out.println(Arrays.toString(numSecreto));
}
public void decidirMas(){
sc.nextLine();//limpiar bufer
System.out.println("¿Quieres probar otra vez?(S/N)");
respuesta=sc.nextLine();
if(respuesta.equalsIgnoreCase("S")){
introRango();
introIntentos();
intentarAcertarNumSecreto();
mostrarArray();
decidirMas();
}else{
System.out.println("Adios");
}
}
public static void main(String[] args){
GeneradorNumAleatorio a=new GeneradorNumAleatorio();
a.introRango();
a.introIntentos();
a.intentarAcertarNumSecreto();
a.mostrarArray();
a.decidirMas();
}
}