Autor Tema: Diferencia entre System.out.println y System.out.print Java CU00667B  (Leído 8558 veces)

niurkafer

  • Principiante
  • **
  • Mensajes: 50
    • Ver Perfil
Hola buenas creo que lo logre realizar el ejercicio pero siento que a la vez no me gustaría saber como voy y mis errores...

Pregunta si quisiera que el cantantate y el disco mas vendido me apareciera al lado como haria? (no recuerdo) :-\

Citar
Crea una clase denominada ListaCantantesFamosos que disponga de un atributo ArrayList listaCantantesFamosos que contenga objetos de tipo CantanteFamoso. La clase debe tener un método que permita añadir objetos de tipo CantanteFamoso a la lista. Un objeto de tipo CantanteFamoso tendrá como atributos nombre (String) y discoConMasVentas (String), y los métodos para obtener y establecer los atributos. Crea una clase test con el método main que inicialice un objeto ListaCantantesFamosos y añade manualmente dos objetos de tipo CantanteFamoso a la la lista. Usando iterator muestra los nombres de cada cantante y su disco con más ventas por pantalla. Se debe pedir al usuario un nombre y disco con más ventas de otro cantante famoso, y una vez introducidos los datos mostrar la lista actualizada usando iterator. Una vez mostrada la lista actualizada, se debe dar opción a elegir entre volver a introducir los datos de otro cantante o salir del programa (se podrán introducir tantos datos de cantantes como se desee. Para ello usa un bucle while que dé opción a elegir al usuario).

Código: [Seleccionar]
public class CantanteFamoso {
    private String nombre;
    private String discoConMasVentas;

    public CantanteFamoso(){
        nombre = "";
        discoConMasVentas = "";
    }

    public CantanteFamoso (String nombre, String discoConMasVentas) {
        this.nombre = nombre;
        this.discoConMasVentas = discoConMasVentas;
    }

    public void setNombre(String nombre){this.nombre = nombre;}

    public void setdiscoConMasVentas(String discoConMasVentas){this.discoConMasVentas = discoConMasVentas;}

    public String getNombre(){return nombre;}

    public String getdiscoConMasVentas(){return discoConMasVentas;}

}

Código: [Seleccionar]
import java.util.Iterator;
import java.util.ArrayList;


public class ListaCantantesFamosos  {
    private ArrayList<CantanteFamoso> listaCantantes;

    public ListaCantantesFamosos(){
        listaCantantes = new ArrayList<CantanteFamoso>();
       
    }

     public void addListaCantantesFamosos(CantanteFamoso cantante){
        listaCantantes.add(cantante);
    }
       public void getListaCantantesFamosos(){
       CantanteFamoso cantante;
       Iterator<CantanteFamoso> it = listaCantantes.iterator();
       while(it.hasNext()){
           cantante = it.next();
           System.out.println("Cantante: " + cantante.getNombre());
           System.out.println(" Disco Mas Vendido: " + cantante.getdiscoConMasVentas());
        }
    }
}



Código: [Seleccionar]
import java.util.Scanner;
public class Test{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String cantante = "", disco = "", entradaTeclado = "";
        ListaCantantesFamosos listaPersonalizada = new ListaCantantesFamosos();
        listaPersonalizada.addListaCantantesFamosos(new CantanteFamoso("Juanes", "Mi sangre"));
        listaPersonalizada.addListaCantantesFamosos(new CantanteFamoso("Eminem", "The Marshall Mathers LP"));
        System.out.println("La lista inicial contiene los siguientes datos:");
        listaPersonalizada.getListaCantantesFamosos();

        while (!"no".equalsIgnoreCase(entradaTeclado)){
            System.out.println ("Desea Ingresar Otro Cantante SI o No");
            entradaTeclado = sc.nextLine();
            if (entradaTeclado.equalsIgnoreCase("si")){
                System.out.print("Nombre: ");
                cantante = sc.nextLine();
                System.out.print("Disco mas vendido: ");
                disco = sc.nextLine();
                listaPersonalizada.addListaCantantesFamosos(new CantanteFamoso(cantante, disco));
                System.out.println("La lista actualizada contiene los siguientes datos:");
                listaPersonalizada.getListaCantantesFamosos();

                System.out.println("Desea ingresar mas datos(si/no)");
                entradaTeclado = sc.nextLine();
            }
            else{}
        }
        System.out.println("HA FINALIZADO EL PROGRAMA");

    }
}


« Última modificación: 12 de Septiembre 2015, 17:05 por Mario R. Rancel »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Re:Diferencia entre System.out.println y System.out.print Java CU00667B
« Respuesta #1 en: 12 de Septiembre 2015, 17:06 »
Hola niurkafer

Cuando quieras escribir texto que te aparezca un texto al lado del otro en lugar de debajo del otro usa System.out.print

Como ves la diferencia con System.out.println son las dos letras "ln" al final, preciasamente esas letras son la abreviatura de line, de ahí que println signifique "escribir por consola e introducir un salto de línea".

En el método getListaCantantesFamosos() sería deseable que tuvieras en cuenta que un get se usa para devolver algo. Pero tu método es void getListaCantantesFamosos(), como es void no devuelve nada. En estos casos es preferible ponerlo otro nombre al método, por ejemplo mostrarCantantesDeLaLista. Si usas un get otro programador pensará que el método devuelve la lista, pero no es así.

Otra mejora sería eliminar estas líneas

Código: [Seleccionar]
System.out.println("Desea ingresar mas datos(si/no)");
entradaTeclado = sc.nextLine();

Esas líneas no parece que sean realmente necesarias, y si es así no parece buena idea mantenerlas

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".