Duda ejercicio

Iniciado por miguel96, 21 Octubre 2014, 13:03 PM

0 Miembros y 1 Visitante están viendo este tema.

miguel96

Muy buenas.
Estoy en primero de ing.informatica y bueno yo en esto de la programación no sabia nada antes de empezar las clases y hoy nos han puesto un ejercicio en el cual tenemos que crear un Menú con distintas opción y el usuario debe eligir una de esas opción y ejecutarla. Bueno, hasta ahí el programa lo tengo bien creo, según el Eclipse.
El problema es que no se como hacer para que cuando elija una opción y la ejecute, vuelva al menú principal otra vez para poder elegir otra de las opciones y ejecutarla. Sé que es con el do-while, o eso creo, pero el problema es que no se usarlo. Aquí os dejo como llevo el programa para ver si me podeis echar una mano.
********NUEVA DUDA*****
Bueno, el ejercicio tiene otro enunciado el cual no entiendo y dice esto:
Los datos recogidos en el punto 1 deberán ser almacenados en un
vector de dos posiciones en lugar de variables, y consecuentemente
el resto de cálculos que se harán en el resto de puntos cambiarán.
Cualquier acción que requiera consultar todos los elementos del
vector deberá realizarse con un bucle.


Lo primero decir que no tengo ni idea de como se hacen los vectores, mas que nada porque en clase no lo hemos dado y buscando en Internet y viendo videos no me ha quedado muy claro.


import java.util.Scanner;
public class Practica2 {
   public static void main(String[] args){
   //Introuccionde datos de los partidos lo primero, para que se queden almacenadas las variables.
      Scanner leer = new Scanner (System.in);      
      System.out.print("Introduce los puntos obtenidos por el Madrid en el partido MADRID-BETIS --> ");
      int numero1=leer.nextInt();
      if((numero1 !=0)&&(numero1!=1)&&(numero1!=3)){
         System.out.println("El valor introducido no es correcto");
         
      }
      System.out.print("Introduce los puntos obtenidos por el Betis en el partido BETIS-MADRID --> ");
      int  numero2=leer.nextInt();
      if((numero2!=0)&&(numero2!=1)&&(numero2!=3)){
         System.out.println("El valor introducido no es correcto");
   }
       
      boolean bandera=true;
      //Creo variable booleana para que cuando ejecute una de las opciones que nos da a elegir el menu, con el bucle do-while, se vuelva a ejecutar el programa, excepto cuando queramos salir, en la que la variable booleana sera falsa.
      do{
       System.out.println("Selecionne una de las opciones: \n1-.Puntos obtenidos por el Real Madrid \n2-.Puntos obtenidos por el betis \n3-.Puntos totales obtenidos por ambos equipos \n4-.Equipo con mayor puntuación \n5-.Salir del programa \nIntroduzca la opción -->");
      
      
      int numero3=leer.nextInt();
      
      
      switch(numero3){
      case 1:
         if(numero2==0){
         System.out.println("Puntos obtenidos por el Madrid --> "+(3+numero1));
         }else if(numero2==1){
         System.out.println("Puntos totales obtenidos por el Madrid --> "+(1+numero1));
         }else if(numero2==3){
         System.out.println("Los puntos totales obtenidos por el Madrid --> "+(0+numero1));   
         }
         break;
      case 2:
         if(numero1==0){
            System.out.println("Puntos obtenidos por el Betis --> "+(3+numero2));
            }else if(numero1==1){
            System.out.println("Puntos totales obtenidos por el Betis --> "+(1+numero2));
            }else if(numero1==3){
            System.out.println("Los puntos totales obtenidos por el Betis --> "+(0+numero2));   
            }
            break;
            
      case 3:
      if((numero2==0)&&(numero1==3)){
         System.out.println("Madrid --> "+(3+numero1));
         System.out.println("Betis --> "+(numero2));
      }else if((numero2==0)&&(numero1==0)){
         System.out.println("Madrid --> "+(3+numero1));
         System.out.println("Betis --> "+(3+numero2));
      }else if((numero2==0)&&(numero1==1)){
         System.out.println("Madrid --> "+(3+numero1));
         System.out.println("Betis --> "+(numero1));
      }else if((numero2==1)&&(numero1==0)){
         System.out.println("Madrid --> "+(numero2+numero1));
         System.out.println("Betis --> "+(3+numero2));
      }else if((numero2==1)&&(numero1==1)){
         System.out.println("Madrid --> "+(numero1+numero2));
         System.out.println("Betis --> "+(numero1+numero2));
      }else if((numero2==1)&&(numero1==3)){
         System.out.println("Madrid --> "+(numero1+numero2));
         System.out.println("Betis --> "+(numero2));
      }else if((numero2==3)&&(numero1==0)){
         System.out.println("Madrid --> " +(numero1));
         System.out.println("Betis --> "+(numero2+3));
   }else if((numero2==3)&&(numero1==1)){
      System.out.println("Madrid --> "+(numero1));
      System.out.println("Betis --> "+(numero2+numero1));
   }else if((numero2==3)&&(numero1==3)){
      System.out.println("Madrid -->"+(numero1));
      System.out.println("Betis -->"+(numero2));
   }
   break;
      
      case 4:
   if(numero1>numero2){
           System.out.println("El Madrid ha conseguido mas puntos que el Betis");
        }else if(numero2>numero1){
           System.out.println("El Betis ha conseguido mas puntos que el Madrid");
        }else if(numero1==numero2){
           System.out.println("El Madrid y el Betis han obtenido los mismo puntos");
           }
   break;
      case 5:
         bandera=false;
      }
      
   }while(bandera==true);
      System.out.println("¡Adiós!");
   }   
}






GRACIAS DE ANTEMANO!!

miguel96

Vale, ya no hace falta, viendo un par de videos creo que me ha quedado claro, aunque de todas formas si vierais algo en el programa que se pudiera mejorar pues mucho mejor!! ;D ;D

miguel96


miguel96

nadie me puede echar una manita?

MNicolas

Se refiere a que ahora los datos tienes que guardarlo en un array de dos dimensiones. Para recorrer dicho array solo tienes que usar dos bucles for, uno dentro de otro.