Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] problema sencillo con array

Estas en el tema de problema sencillo con array en el foro de Java en Foros del Web. Hola a todos , tengo un probemita con este ejercicio que estoy haciendo y no encuentro la solución, adjunto el código: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: ...
  #1 (permalink)  
Antiguo 27/03/2013, 13:10
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
problema sencillo con array

Hola a todos , tengo un probemita con este ejercicio que estoy haciendo y no encuentro la solución, adjunto el código:

Código HTML:
Ver original
  1. import java.util.Scanner;
  2. public class PRUEBAS_2 {
  3.    public static double [] arrayM1 = new double[1];
  4.    public static String []arrayUf = {"UF1","UF2","UF3","UF4"};
  5.    boolean FI= false;
  6.    double[][] array = new double [arrayM1.length][3];
  7.    double notaMediaUF1=0;
  8.    double notaMediaUF2=0;
  9.    double notaMediaUF3=0;
  10.    double notaMediaUF4=0;
  11.     Scanner lector = new Scanner(System.in);
  12.    public static void main(String[]args){
  13.       PRUEBAS_2 programa = new PRUEBAS_2();
  14.       programa.inicio();
  15.    }
  16.    public void inicio(){
  17.        while(!FI){
  18.            introduceValoresUF1();
  19.            introduceValoresUF2();
  20.            introduceValoresUF3();
  21.            introduceValoresUF4();
  22.            mostrarTablaRes(array);
  23.        }
  24.      }
  25.        public void introduceValoresUF1(){
  26.        
  27.         System.out.println("Introduce la nota práctica UF1: ");
  28.         double notaPracticaUF1 = lector.nextDouble();
  29.          System.out.println("Introduce la nota teórica UF1: ");
  30.         double notaTeoricaUF1 = lector.nextDouble();
  31.        notaMediaUF1 = (notaPracticaUF1 + notaTeoricaUF1)/2;
  32.        }
  33.        public void introduceValoresUF2(){
  34.        
  35.         System.out.println("Introduce la nota práctica UF2: ");
  36.          double notaPracticaUF2 = lector.nextDouble();
  37.          System.out.println("Introduce la nota teórica UF2: ");
  38.         double notaTeoricaUF2 = lector.nextDouble();
  39.         notaMediaUF2 = (notaPracticaUF2 + notaTeoricaUF2)/2;
  40.        }
  41.       public void introduceValoresUF3(){
  42.        System.out.println("Introduce la nota práctica UF3: ");
  43.         double notaPracticaUF3 = lector.nextDouble();
  44.          System.out.println("Introduce la nota teórica UF3: ");
  45.         double notaTeoricaUF3 = lector.nextDouble();
  46.        notaMediaUF3 = (notaPracticaUF3 + notaTeoricaUF3)/2;
  47.        }
  48.       public void introduceValoresUF4(){
  49.         System.out.println("Introduce la nota práctica UF4: ");
  50.         double notaPracticaUF4 = lector.nextDouble();
  51.          System.out.println("Introduce la nota teórica UF4: ");
  52.         double notaTeoricaUF4 = lector.nextDouble();
  53.          notaMediaUF4 = (notaPracticaUF4 + notaTeoricaUF4)/2;
  54.      
  55.       }
  56.      
  57.       public double UF(double[][]array){
  58.           double notaMedia=0;
  59.         for(int i = 0; i < array.length; i++){
  60.              array[i][0] = Math.round(notaMediaUF1);
  61.              array[i][1] = Math.round(notaMediaUF1);
  62.              array[i][2] = Math.round(notaMediaUF1);
  63.              array[i][3] = Math.round(notaMediaUF1);
  64.            }
  65.        return notaMedia;
  66.      }
  67.      
  68.       public void mostrarTablaRes(double[][]array){
  69.  
  70.            System.out.println("UF1\tUF2\tUF3\tUF4");
  71.           for(int i=0; i < array.length;i++){
  72.           System.out.println(notaMediaUF1 + "\t" + notaMediaUF2 + "\t" + notaMediaUF3 + "\t" + notaMediaUF4);
  73.         }
  74.      }
  75.   }

¿Cómo puedo evitar preguntar cuatro veces lo mismo antes de que se ejecute el bucle? por las variables de las medias no hay problema , he probado conr un while que cuando la pregunta llegue a la longitud del array deje de preguntar e imprima el resultado. Soy novato en java.

Un saludo

Última edición por Pike; 27/03/2013 a las 13:25
  #2 (permalink)  
Antiguo 27/03/2013, 17:06
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: problema sencillo con array

He probado poniendo esto en introduceValores();
Código HTML:
Ver original
  1. public void introduceValores(){
  2.            do{
  3.         System.out.println("Introduce la nota práctica: ");
  4.         notaPractica = lector.nextDouble();
  5.          System.out.println("Introduce la nota teórica: ");
  6.         notaTeorica = lector.nextDouble();
  7.            }while((notaPractica != array.length || notaTeorica != array.length));
  8.        
  9.        }

pero no funciona... una ayuda por favor!!! la idea es que hasta que no se cumpla la longitud del array continúe preguntando.
  #3 (permalink)  
Antiguo 27/03/2013, 19:07
Avatar de osaka80  
Fecha de Ingreso: mayo-2012
Mensajes: 65
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: problema sencillo con array

Bueno he adaptado un poco el código, porque veo uso de variables que no nos sirven de ayuda, a lo mejor tu lo quieres resolver de otra manera, si ese es el caso pues deja tus dudas, aqui el codigo del ejemplo. Saludos

Código HTML:
import java.util.Scanner;

public class PRUEBAS_2 {
	   int MAX=4;
	   int[] array = new int[MAX];
	   double[] notaMedia=new double[MAX];
	   double notaPractica=0;
	   double notaTeorica=0;
	   Scanner lector = new Scanner(System.in);
	    
	   public static void main(String[]args){
	      PRUEBAS_2 programa = new PRUEBAS_2();
	      programa.inicio();
	   }
	   public void inicio(){
	    
	           introduceValores();
	           mostrarTablaRes(notaMedia);

	     }
	   public void introduceValores(){
		   for(int i = 0; i < array.length; i++){
			   System.out.print("Introduce la nota práctica UF"+(i+1)+": ");
			   notaPractica = lector.nextDouble();
			   System.out.print("Introduce la nota teórica UF"+(i+1)+": ");
			   notaTeorica = lector.nextDouble();
			   notaMedia[i] = (notaPractica + notaTeorica)/2;
           }       
       }
	             
	       public void mostrarTablaRes(double[] notaMedia){	   
	            System.out.println("UF1\tUF2\tUF3\tUF4");
	            for(int i=0; i < array.length;i++){
	        	   System.out.print(notaMedia[i]+"\t");
	           }
	      }
}
  #4 (permalink)  
Antiguo 27/03/2013, 19:43
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: problema sencillo con array

Si que me sirve ¡¡¡ mil gracias !!! he aprendido algo hoy...

Un saludo

Etiquetas: programa, sencillo, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:34.