Autor Tema: Java cómo declarar y hacer uso de Arrays unidimensionales simples bucle CU00903C  (Leído 2481 veces)

PatAs

  • Sin experiencia
  • *
  • Mensajes: 19
  • ¿Libre...? - Solo cuando pienso y aprendo!!
    • Ver Perfil
Buenas tardes/noche.

Presento solución posible para los ejercicios propuestos en la entrega de referencia
Ejercicio #1:

Código: [Seleccionar]
package CU00903C;


/**
 * Write a description of class CrearArray5Elementos here.
 *
 * @author (Arnaldo R. Martinez)
 * @version (10-Ago-2017) - Ejercicio#1 - Propuesto por aprenderaprogramar.com
 */
public class CrearArray5Elementos {
    public static void main (String arg[]) {
        System.out.println("Comienza el programa");
        int[] numeros = new int[5];
        int i=0;
        while (i<numeros.length) {
            System.out.println("Por favor ingrese un número entero ");
            EntradaPorTeclado entre = new EntradaPorTeclado();
            numeros[i] = Integer.valueOf(entre.getEntrada());
            i++;
        }
       
System.out.println("El array está compuesto por: ");
for (i=0;i<numeros.length;i++) {
System.out.println("El indice " +i+ " contiene el número " +(numeros[i]));
}
    }
   
}


Ejercicio #2:

Código: [Seleccionar]
package CU00903C;


/**
 * Write a description of class NotasDosAlumnos here.
 *
 * @author (Arnaldo R. Martinez)
 * @version (11-Ago-2017) - Ejercicio#2 - Propuesto por aprenderaprogramar.com
 */
public class NotasDosAlumnos {
public static void main (String arg[]) {
System.out.println("Comienza el programa");
String[] alumnos = new String[2];
double[] notas = new double[2];
int i=0;
while (i<2) { //Se condiciona i<2 porque el ejercicio indica arrays de 2 elementos. Lo correcto es condicionar con (nombre_del_array.length)
System.out.println("Por favor ingrese el nombre del alumno ");
EntradaPorTeclado alumno = new EntradaPorTeclado();
alumnos[i] = alumno.getEntrada();
System.out.println("Ahora ingrese la nota correspondiente ");
EntradaPorTeclado nota = new EntradaPorTeclado();
while (Double.valueOf(nota.getEntrada())<0 || Double.valueOf(nota.getEntrada())>10) {
System.out.println("Deberá ingresar una nota válida, comprendida entre 0 y 10");
nota = new EntradaPorTeclado();
}
notas[i] = Double.valueOf(nota.getEntrada());
i++;
}
//Se muestran los resultados
for (int j=0;j<2;j++) {
System.out.println("Alumno: " +alumnos[j]+ ", nota: " +notas[j]+ ", calificacion: " +estableceCalificacion(notas[j]));
}

}
static public String estableceCalificacion(double nota) {
String calificacion = "";
String[] Califica = {"Sobresaliente","Notable","Bien","Suspenso"};
if (nota<5.0) {
calificacion = Califica[3];
} else if (nota>=5.0 && nota<7.0) {
calificacion = Califica[2];
} else if (nota>=7.0 && nota<9.0) {
calificacion = Califica[1];
} else if (nota>=9.0 && nota<=10.0) {
calificacion = Califica[0];
} else {};
return calificacion;
}
}


En ambos se utilizó la clase auxiliar 'EntradaPorTeclado':

Código: [Seleccionar]
package CU00903C;

import java.util.Scanner;
/**
 * Para obtener entradas por teclado
 *
 * @author (Arnaldo Martinez)
 * @version (01_2016)
 */
public class EntradaPorTeclado{
   
    private String entradaTcl; //Campo de la clase
    //Constructor
    public EntradaPorTeclado(){
        entradaTcl= "";
        pedirEntrada(); //Llamado a un mètodo interno
    }
    //Mètodos de la clase
    public void pedirEntrada(){
        Scanner eEsc= new Scanner(System.in);
        entradaTcl= eEsc.nextLine();
    }
   
    public String getEntrada(){
        return entradaTcl;
    }
}
« Última modificación: 16 de Septiembre 2017, 19:29 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Java - CU00903C: Repaso Arrays unidimensionables
« Respuesta #1 en: 16 de Septiembre 2017, 19:28 »
Buenas PatAs, ten en cuenta que la entrega es sobre arrays unidimensionales, he corregido el título porque habías puesto unidimensionables :)

Ejercicio 1 correcto

Ejercicio 2 correcto

La observación //Se condiciona i<2 porque el ejercicio indica arrays de 2 elementos. Lo correcto es condicionar con (nombre_del_array.length) es adecuada, en realidad podrías haber declarado una variable numeroDeAlumnos = 2 y eso usarlo como índice, de ese modo podrías variar el funcionamiento del programa para que funcione con el número de alumnos que definieras en esa línea, sin tener que cambiar otras cosas.

Otra observación: yo hubiera puesto los nombres de los arrays en singular, es decir en lugar de

String[] alumnos = new String[2];
double[] notas = new double[2];

String[] alumno = new String[2];
double[] nota = new double[2];

Así podrías decir nota[1] vale 5.77 en lugar de notas[1] vale 5.77 Esto no tiene importancia pero es en general bueno usar nombres en singular cuando sea posible

Salu2

PatAs

  • Sin experiencia
  • *
  • Mensajes: 19
  • ¿Libre...? - Solo cuando pienso y aprendo!!
    • Ver Perfil
Hola Ogramar.
Gracias por la devolución. Tomo nota de las sugerencias y/o correcciones.
Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".