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 originalimport java.util.Scanner;
public class PRUEBAS_2 {
public static double [] arrayM1 = new double[1];
public static String []arrayUf = {"UF1","UF2","UF3","UF4"};
boolean FI= false;
double[][] array = new double [arrayM1.length][3];
double notaMediaUF1=0;
double notaMediaUF2=0;
double notaMediaUF3=0;
double notaMediaUF4=0;
Scanner lector = new Scanner(System.in);
public static void main(String[]args){
PRUEBAS_2 programa = new PRUEBAS_2();
programa.inicio();
}
public void inicio(){
while(!FI){
introduceValoresUF1();
introduceValoresUF2();
introduceValoresUF3();
introduceValoresUF4();
mostrarTablaRes(array);
}
}
public void introduceValoresUF1(){
System.out.println("Introduce la nota práctica UF1: ");
double notaPracticaUF1 = lector.nextDouble();
System.out.println("Introduce la nota teórica UF1: ");
double notaTeoricaUF1 = lector.nextDouble();
notaMediaUF1 = (notaPracticaUF1 + notaTeoricaUF1)/2;
}
public void introduceValoresUF2(){
System.out.println("Introduce la nota práctica UF2: ");
double notaPracticaUF2 = lector.nextDouble();
System.out.println("Introduce la nota teórica UF2: ");
double notaTeoricaUF2 = lector.nextDouble();
notaMediaUF2 = (notaPracticaUF2 + notaTeoricaUF2)/2;
}
public void introduceValoresUF3(){
System.out.println("Introduce la nota práctica UF3: ");
double notaPracticaUF3 = lector.nextDouble();
System.out.println("Introduce la nota teórica UF3: ");
double notaTeoricaUF3 = lector.nextDouble();
notaMediaUF3 = (notaPracticaUF3 + notaTeoricaUF3)/2;
}
public void introduceValoresUF4(){
System.out.println("Introduce la nota práctica UF4: ");
double notaPracticaUF4 = lector.nextDouble();
System.out.println("Introduce la nota teórica UF4: ");
double notaTeoricaUF4 = lector.nextDouble();
notaMediaUF4 = (notaPracticaUF4 + notaTeoricaUF4)/2;
}
public double UF(double[][]array){
double notaMedia=0;
for(int i = 0; i < array.length; i++){
array[i][0] = Math.round(notaMediaUF1);
array[i][1] = Math.round(notaMediaUF1);
array[i][2] = Math.round(notaMediaUF1);
array[i][3] = Math.round(notaMediaUF1);
}
return notaMedia;
}
public void mostrarTablaRes(double[][]array){
System.out.println("UF1\tUF2\tUF3\tUF4");
for(int i=0; i < array.length;i++){
System.out.println(notaMediaUF1 + "\t" + notaMediaUF2 + "\t" + notaMediaUF3 + "\t" + notaMediaUF4);
}
}
}
¿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