Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - rogergcc

Páginas: [1]
1
Mucha Gracias Alex Rodríguez y Lorenzo31 por las correcciones   :)

2
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).

Clase CantanteFamoso con los datos cantante y disco con mas ventas
Código: [Seleccionar]
class CantanteFamoso {
    private String nombre;
    private String discoConMasVentas;

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

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

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * @return the discoConMasVentas
     */
    public String getDiscoConMasVentas() {
        return discoConMasVentas;
    }

    /**
     * @param discoConMasVentas the discoConMasVentas to set
     */
    public void setDiscoConMasVentas(String discoConMasVentas) {
        this.discoConMasVentas = discoConMasVentas;
    }
   
}

Clase ListaCantantesFamosos con un Arraylist que almacena solo CantanteFamoso
Código: [Seleccionar]
public class ListaCantantesFamosos {
    private ArrayList<CantanteFamoso>listaCantantesFamosos;

    public ListaCantantesFamosos() {
        this.listaCantantesFamosos = new <CantanteFamoso>ArrayList();
       
    }
   
    //método que permita añadir objetos de tipo CantanteFamoso a la lista
    public void añadirCantantesFamosos(){
        CantanteFamoso ca=new CantanteFamoso();
        listaCantantesFamosos.add(ca);
    }
   
    public void listarCantantesFamosos(){
        CantanteFamoso c;
        Iterator<CantanteFamoso>it=listaCantantesFamosos.iterator();
        while (it.hasNext()) {
            c = it.next();
            System.out.println("Cantante: "+ c.getNombre());
            System.out.println("Disco con más ventas:"+c.getDiscoConMasVentas());
        }
    }
    /**
     * @return the listaCantantesFamosos
     */
    public ArrayList<CantanteFamoso> getListaCantantesFamosos() {
        return listaCantantesFamosos;
    }

    /**
     * @param listaCantantesFamosos the listaCantantesFamosos to set
     */
    public void setListaCantantesFamosos(ArrayList<CantanteFamoso> listaCantantesFamosos) {
        this.listaCantantesFamosos = listaCantantesFamosos;
    }
    public void setCantanteFamoso(CantanteFamoso Cantante){
        listaCantantesFamosos.add(Cantante);
    }
}

Clase EntradaTeclado para la entrada de datos por el usuario
Código: [Seleccionar]
import java.util.Scanner;

/**
 *
 * @author don_h_000
 */
public class EntradaTeclado {
    private String entradaTeclado;

    public EntradaTeclado() {
        Scanner sc= new Scanner(System.in);
       
        this.entradaTeclado = sc.nextLine();
    }

    /**
     * @return the entradaTeclado
     */
    public String getEntradaTeclado() {
        return entradaTeclado;
    }

    /**
     * @param entradaTeclado the entradaTeclado to set
     */
    public void setEntradaTeclado(String entradaTeclado) {
        this.entradaTeclado = entradaTeclado;
    }
   
}

Clase Test con el método main
Código: [Seleccionar]
import java.util.Scanner;

/**
 *
 * @author don_h_000
 */
public class test {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        ListaCantantesFamosos listaDeCantantes1=new ListaCantantesFamosos();
       
        String opcion=new String();
        Scanner sc =new Scanner(System.in);
        char continuar;
       
        do{
            //char continuar;
            System.out.println("Por favor introduzca los datos de otro cantante.");

            System.out.println("Nombre :");
            EntradaTeclado entradaTeclado1=new EntradaTeclado();
            System.out.println("Disco con más ventas: :");
            EntradaTeclado entradaTeclado2=new EntradaTeclado();
           
            CantanteFamoso cantante=new CantanteFamoso();
            cantante.setNombre(entradaTeclado1.getEntradaTeclado());
            cantante.setDiscoConMasVentas(entradaTeclado2.getEntradaTeclado());
           
            listaDeCantantes1.añadirCantantesFamosos();
            listaDeCantantes1.setCantanteFamoso(cantante);
           
            System.out.println("La lista actualizada contiene los siguientes datos:");
            listaDeCantantes1.listarCantantesFamosos();
            System.out.println("¿Desea introducir los datos de otro cantante (s/n)?");
            opcion=sc.nextLine();
             continuar = opcion.charAt(0);
        }while(continuar=='s' || continuar=='S');
    }
   
}

Para este ejercicio quise seguir un orden, como indicaba el enunciado, pero mientras resolvía me generaron bastantes dudas la cuales olvide algunas, tuve que guiarme de un ejercicio resuelto para este ejercicio y de internet
  • Me parece desordenado el código. hay forma de ordenadarlo o reducirlo
  • Como usaria lo metodos set y get o ya no seria necesario
  • Para usar el char en vez del String. use ese codigo que encontre en internet. Hay una forma de resumir el codigo xq con el char uso 2 variables.
    String opcion=new String();
    char continuar;.
    En cambio usando solo String seria:
    String continuar = new String();
    continuar=sc.nextLine();
    while(continuar.equalsIgnoreCase("s"))
  • se q los métodos set son parecidos a los métodos que utilice en este ejercicio porque no devuelven nada pero modifican algo, en cambio los métodos get como se utilizaría para este ejercicio
  • en el codigo
    cantante.setNombre(entradaTeclado1.getEntradaTeclado());
    cantante.setDiscoConMasVentas(entradaTeclado2.getEntradaTeclado());
    esa seria la única forma de obtener los datos y si es que tuviera mas atributos como Nacimiento,Nacionalidad,Género(s), etc. si hubiera otra forma de obtener los datos, cual seria la mejor forma
  • Si borro esta parte del código en el main //listaDeCantantes1.añadirCantantesFamosos();
    pareciera como si no afectaría nada, porque

3
Citar
Crea una clase denominada ListaCantantesFamosos que al ser inicializada contenga un ArrayList con tres Strings que sean el nombre de cantantes famosos. Crea una clase test con el método main que inicialice un objeto ListaCantantesFamosos y usando un for extendido muestre los cantantes en la lista por pantalla. Se debe pedir al usuario un nombre más de cantante famoso, y una vez introducido mostrar la lista actualizada usando un for extendido. Una vez mostrada la lista actualizada, se debe dar opción a elegir entre volver a introducir otro cantante o salir del programa (se podrán introducir tantos cantantes como se desee, para ello usa un bucle while que dé opción a elegir al usuario).

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


class ListaCantantesFamosos {
    private ArrayList<String> listaDeCantantes;

    public ListaCantantesFamosos() {
        this.listaDeCantantes = new ArrayList<String>();
        listaDeCantantes.add("Mark King");
        listaDeCantantes.add("Mike Lindup");
        listaDeCantantes.add("Nathan King");
    }

    public ArrayList<String> getListaDeCantantes() {
        return listaDeCantantes;
    }
    public void añadirCantante(String nombreCantante){
        listaDeCantantes.add(nombreCantante);
    }
    public void listarCantantes(){
        int i=0;
        for (String nombre:listaDeCantantes) {
            System.out.println("Cantante "+(i+1)+": "+nombre);
            i++;
        }
    }
    public void setListaDeCantantes(ArrayList<String> listaDeCantantes) {
        this.listaDeCantantes = listaDeCantantes;
    }
}

Clase EntradaTeclado
Código: [Seleccionar]
class EntradaTeclado {
    private String entrada;

    public EntradaTeclado() {
        this.entrada = "";
        Scanner sc = new Scanner(System.in);
        this.entrada= sc.nextLine();
       
    }

    public String getEntrada() {
        return entrada;
    }

    public void setEntrada(String entrada) {
        this.entrada = entrada;
    }
   

Clase test con el metodo main
Código: [Seleccionar]
public class Test {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        ListaCantantesFamosos listaDeCantantes = new ListaCantantesFamosos();
        listaDeCantantes.listarCantantes();
        String continuar = new String();
        Scanner sc = new Scanner(System.in);
           
        do {   
           
            System.out.println("Ingrese el Nombre del Cantante. ");
            EntradaTeclado entradaTeclado = new EntradaTeclado();
            listaDeCantantes.añadirCantante(entradaTeclado.getEntrada());
            listaDeCantantes.listarCantantes();
            System.out.println("Añadir nuevo Cantante (S/N)");
            continuar=sc.nextLine();
       
        }while(continuar.equalsIgnoreCase("s"));
       
    }
   
}

Cualquier sugerencia y corrección es bienvenida. Gracias.

4
Muchas Gracias por las Correcciones fedegaray.   :)

5
Citar
Crea una clase denominada ListaCantantesFamosos que al ser inicializada contenga un ArrayList con tres Strings que sean el nombre de cantantes famosos. Crea una clase test con el método main que inicialice un objeto ListaCantantesFamosos, pida dos cantantes famosos más al usuario, los añada a la lista y muestre el contenido de la lista por pantalla.


Clase ListaCantantesFamosos

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

class ListaCantantesFamosos {
    private ArrayList<String>cantantes;
    private String nombreCantante;

    public ListaCantantesFamosos(ArrayList<String> cantantes, String nombreCantante) {
        this.cantantes = cantantes;
        this.nombreCantante = nombreCantante;
    }

    public ListaCantantesFamosos() {
        this.cantantes = new ArrayList<String>();
        cantantes.add("Ellie Goulding");
        cantantes.add("Don Henley");
        cantantes.add("Zella Day");
    }
    public void dameCantantesFamosos(){
        Scanner sc = new Scanner(System.in);
        nombreCantante = sc.nextLine();
       
    }
    public void addNombre(String valor_nombre){
        cantantes.add(valor_nombre);
    }
    public void listarCantantesFamosos(){
        for (int i = 0; i < cantantes.size(); i++) {
            System.out.println("Cantante Famoso "+(i+1)+" : "+cantantes.get(i));
        }
    }
    public ArrayList<String> getCantantes() {
        return cantantes;
    }
   
    public void setCantantes(ArrayList<String> cantantes) {
        this.cantantes = cantantes;
    }

    public String getNombreCantante() {
        return nombreCantante;
    }

    public void setNombreCantante(String nombreCantante) {
        this.nombreCantante = nombreCantante;
    }
   
}


Clase Main

Código: [Seleccionar]
public class test {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        ListaCantantesFamosos listaCantantes1 = new ListaCantantesFamosos();
        System.out.println("Por favor introduzca nombre del 4to Cantante :");
        listaCantantes1.dameCantantesFamosos();
        listaCantantes1.addNombre(listaCantantes1.getNombreCantante());
        System.out.println("Por favor introduzca nombre del 5to Cantante :");
       
        listaCantantes1.dameCantantesFamosos();
       
        listaCantantes1.addNombre(listaCantantes1.getNombreCantante());
        //listando cantantes famosos
        listaCantantes1.listarCantantesFamosos();
    }
   
}




Ahhh. Unas preguntas.

  • Se puede escribir por teclado la cantidad de objetos que queremos añadir al ArrayList, para después recién añadir objetos al ArrayList. O no tendria sentido.
    O la unica forma seria teniendo un Menu con opciones: 1.- Añadir CantanteFamoso
  • Que pasaría si queremos añadir mas de 20 objetos al ArrayList, como se reduciria el código porque añadir de esta forma seria muy repititivo.
  • Seria ideal tener la escritura por teclado como una clase aparte para poder ser usada por varias clases.

6
Consulta la clase Stack en el API de Java.
Citar
¿Cómo se llama el método para consultar el objeto en la cima de la pila?
peek()

Citar
¿Cómo se llama el método para consultar si la pila está vacía?
empty()

Citar
¿El método pop podríamos clasificarlo como tipo procedimiento, como tipo función, o como tipo mixto (procedimiento y función)?
Es de tipo mixto porque retorna un objeto y modifica como un procedimiento


7
si hubiera hecho todo en el main quedaría así :
Código: [Seleccionar]
public static void main(String[] args) {
        String p1,p2;
        Scanner sc = new Scanner(System.in);
        System.out.print("Ingrese la 1era Palabra .");p1 = sc.next();
        System.out.print("Ingrese la 2da Palabra .");p2 = sc.next();
        int mayor,menor,aux;
        if (p1.length() > p2.length()) {
            mayor=p1.length();
            menor=p2.length();
            aux = 2;
        }
        else
        {
            mayor=p2.length();
            menor=p1.length();
            aux = 1;
        }
        for (int i = 0; i < mayor; i++) {
            System.out.print("¿ Letra "+(i+1)+" igual en las dos palabras ? ");
            if (i<menor)
                System.out.println(" "+p1.substring(i, i+1).equals(p2.substring(i, i+1)));
            else
               System.out.println(" La palabra " + aux + " no tiene letra " + i);
        }
    }
y si es necesario inicializar string "" e int a 0 ?

8
Citar
Crea una clase en cuyo método main ejecutes una comparación letra a letra usando equals de dos palabras usando bucles. Por ejemplo si las palabras son “avispa” y “ave” el programa debe dar como resultado: ¿Letra 1 igual en las dos palabras? True. ¿Letra 2 igual en las dos palabras? True ¿Letra 3 igual en las dos palabras? False ¿Letra 4 igual en las dos palabras? La palabra 2 no tiene letra 4 ¿Letra 5 igual en las dos palabras? La palabra 2 no tiene letra 5 ¿Letra 6 igual en las dos palabras? La palabra 2 no tiene letra 6.

Al principio lo estaba haciendo de otra manera pero decidí por la siguiente, bueno me guie del ejercicio anterior:

Clase entradaTexto
Código: [Seleccionar]
class entradaTexto {
    private String textoIngresado;
//constructor
    public entradaTexto(String textoIngresado) {
        this.textoIngresado = textoIngresado;
    }
//constructor por defecto
    public entradaTexto() {
        this.textoIngresado="";
        obtenerTexto();
    }
//setters
    public String getTextoIngresado() {
       
        return textoIngresado;
    }
//getters
    public void setTextoIngresado(String textoIngresado) {
        this.textoIngresado = textoIngresado;
    }
    public void obtenerTexto(){
        Scanner sc = new Scanner(System.in);
        String textoIngresado = sc.next();
       
    }
 
}

Main
Código: [Seleccionar]
public static void main(String[] args) {
       
        System.out.println ("Por favor introduzca la entrada 1:");
        entradaTexto texto1 = new entradaTexto();
        System.out.println(texto1.getTextoIngresado());
        System.out.println ("Por favor introduzca la entrada 2:");
        entradaTexto texto2 = new entradaTexto();
        System.out.println(texto2.getTextoIngresado());
       
        int n;
        String texto_1= texto1.getTextoIngresado();
        System.out.println ("texto_1 : "+ texto_1); // aqui no me imprime el texto_1 porque en la linea anterior no lo asigna
        String texto_2= texto2.getTextoIngresado();
        boolean comparacion ;
        if (texto_1.length() > texto_2.length()) {
            n = texto_1.length();
        }
        else
        {   n = texto_2.length();}
        for (int i = 0; i < n; i++) {
             System.out.println("Letra "+(i+1)+" igual en las dos palabras");
            if (texto_1.substring(i, i+1).equals(texto_2.substring(i, i+1))) {
                comparacion = true;
                System.out.println( comparacion);
            }
            else
            {comparacion = false;
                 System.out.println( comparacion);}
        }
    }

En la main no se porque no puedo asignar un String Texto_1 = texto1.getTextoIngresado(); y por consiguiente el codigo apartir de ahi no se ejecuta
debe ser por variables locales o algo asi, no se.
Y si la lógica esta bien, si se puede mejorar o acortarla y si es mejor tener es lógica en un método en la clase. Gracias.
ahh y si falta codigo para cuando una palabra es mas grande q la otra
Código: [Seleccionar]
La palabra 2 no tiene letra 4

9

Código: [Seleccionar]
class EntradaDeTeclado {
    private String entradaTeclado;

    public EntradaDeTeclado() {
        this.entradaTeclado = "";
        pedirEntrada();
    }

    private void pedirEntrada() {
        Scanner sc = new Scanner(System.in);
        entradaTeclado = sc.nextLine();
       
    }

    public String getEntrada() {
        return entradaTeclado;
    }
   
    public String getPrimeraPalabra() {
        for (int i = 0; i < entradaTeclado.length()-1; i++) {
            if (entradaTeclado.substring(i, i+1).equals(" ")) {
                return entradaTeclado.substring(0, i+1);
            }
        }
        return entradaTeclado;
    }
    public int getLongitud(){
        return entradaTeclado.length();
    }
   
   
}

Buena ha ese codigo seria recomendable añadir lo siguiente aunque no lo utilicemos?
el set del atributo
Código: [Seleccionar]
public void setEntradaTeclado(String entradaTeclado) {
        this.entradaTeclado = entradaTeclado;

y el constructor que falta.
Código: [Seleccionar]
public EntradaDeTeclado(String entradaTeclado) {
        this.entradaTeclado = entradaTeclado;
    }
y si el constructor y el set que falta no seria necesario para ese ejemplo, no se de una manera general deberíamos ponerlos o no...

10
Muchas Gracias por la corrección Dan_SB.

11
Citar
Crea una clase con un método main que pida una entrada de teclado y usando un bucle while, el método length de la clase String y el método substring de la clase String, muestre cada una de las letras que componen la entrada. Por ejemplo si se introduce “ave” debe mostrar:

Letra 1: a
Letra 2: v
Letra 3: e

Código: [Seleccionar]
public class BucleWhile {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        System.out.println("Ingrese la palabra : ");
        Scanner sc = new Scanner(System.in);
        String cadena = "";
        cadena=sc.nextLine();
        int i=0;
        while(i<cadena.length()){
            System.out.println("Letra "+(i+1)+": "+cadena.substring(i, i+1));
            i++;
        }
    }
   
}

12
Citar
Crea una clase con un método main que pida una entrada de teclado y usando un bucle for, el método length de la clase String y el método substring de la clase String, muestre cada una de las letras que componen la entrada. Por ejemplo si se introduce “ave” debe mostrar:

Letra 1: a
Letra 2: v
Letra 3: e

Es necesario que la cadena inicialize en cadena="" y porque no cadena=" "

Código: [Seleccionar]
public static void main(String[] args) {
        System.out.println ("Por favor introduzca una cadena por teclado:");
        Scanner sc = new Scanner(System.in);
        String cadena="";
        cadena=sc.nextLine(); //que diferencia hay sc.next();
        for (int i = 0; i < cadena.length(); i++) {
            System.out.println("Letra "+(i+1)+": "+cadena.substring(i, i+1));
        }
    }

13
Código: [Seleccionar]
public class MainScanner {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

         System.out.println ("Por favor introduzca una cadena por teclado:");
         String en = "";
         Scanner sc = new Scanner(System.in);
         en = sc.nextLine();
         String letraInicial=en.substring(0,1);
         System.out.println(letraInicial);
         if (en.length()<5 ) {
                  if (letraInicial.equals("a") || letraInicial.equals("A")) {
                            System.out.println("La cadena introducida tiene menos de  5 caracteres y comienza por la letra a");
                  }
                  else{
                  System.out.println("La cadena introducida tiene menos de  5 caracteres y no comienza por la letra a");
                  }
        }
        else  {
             if (en.length()<16 ) {
                  if (letraInicial.equals("a") || letraInicial.equals("A")) {
                            System.out.println("La cadena introducida tiene entre 5 y 15 caracteres y comienza por la letra a");
                   }
                  else{
                            System.out.println("La cadena introducida tiene entre 5 y 15 caracteres y no comienza por la letra a");
                  }
             }
             else {
                 if (letraInicial.equals("a") || letraInicial.equals("A")) {
                        System.out.println("La cadena introducida tiene mas 15 caracteres y comienza por la letra a");
                 }
                 else{
                        System.out.println("La cadena introducida tiene mas 15 caracteres y no comienza por la letra a");
                 }
             }
        }
    }
   
}

se repite  letraInicial.equals("a") || letraInicial.equals("A")
Se puede hacer algo para reducir el codigo o almancer en una variable u otras cosas

14
Citar
Crea una clase con un método main que pida una entrada de teclado y usando condicionales, el método length de la clase String y el método substring de la clase String, muestre un mensaje indicando:

a) Si la cadena introducida tiene menos de 5 caracteres, entre 5 y 15 caracteres o más de 15 caracteres.

b) Si la cadena introducida comienza por la letra a.

Ejemplo: se pide la entrada y el usuario introduce “vereda”. Por pantalla se debe mostrar: “La cadena introducida tiene entre 5 y 15 caracteres y no comienza por a”.

Por favor notificar cualquier error, si se puede reducir el codigo y otros. Gracias

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

public class MainScanner {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

         System.out.println ("Por favor introduzca una cadena por teclado:");
         String en = "";
         Scanner sc = new Scanner(System.in);
         en = sc.nextLine();
         String letraInicial=en.substring(0,1);
         System.out.println(letraInicial);
         if (en.length()<5 ) {
                  if (letraInicial.equals("a")) { //No funciona if (letraInicial=="a")  porque ?
                            System.out.println("La cadena introducida tiene menos de  5 caracteres y comienza por la letra a");
                  }
                  else{
                  System.out.println("La cadena introducida tiene menos de  5 caracteres y no comienza por la letra a");
                  }
        }
        else  {
             if (en.length()<16 ) {
                  if (letraInicial.equals("a")) {
                            System.out.println("La cadena introducida tiene entre 5 y 15 caracteres y comienza por la letra a");
                   }
                  else{
                            System.out.println("La cadena introducida tiene entre 5 y 15 caracteres y no comienza por la letra a");
                  }
             }
             else {
                 if (letraInicial.equals("a")) {
                        System.out.println("La cadena introducida tiene mas 15 caracteres y comienza por la letra a");
                 }
                 else{
                        System.out.println("La cadena introducida tiene mas 15 caracteres y no comienza por la letra a");
                 }
             }
        }
    }
   
}

15
Citar
Crea una clase (ponle el nombre que quieras) que carezca de atributos y cuyo constructor esté vacío. En dicha clase debe existir un método tipo función que reciba 3 cadenas de texto y devuelva la cadena de texto combinación de: las dos primeras letras de la primera cadena, seguidas por un espacio en blanco, seguidas de las cuatro primeras letras de la segunda cadena, seguidas de un guión medio y seguido de las 6 primeras letras de la tercera cadena. Puedes comprobar si es correcta tu solución consultando en los foros aprenderaprogramar.com.

La clase con su metodo

Código: [Seleccionar]
public class Cadena {

    public Cadena() {
    }

    public String devuelveCadena(String a, String b, String c) {
       
        return (a.substring(0, 2)+" "+b.substring(0, 4)+"-"+c.substring(0, 6));
    }
   
}

el main

Código: [Seleccionar]
public class JavaApplication8 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Cadena micadena = new Cadena();
        System.out.println("resultado : "+micadena.devuelveCadena("pablito","clavo","calvito"));
       
    }
   
}

Quería saber donde seria recomendable la impresión del resultado en el main o en el método

16
Muchas Gracias Lorenzo y una consulta mas.
Seria mejor tener un método en cada clase para enviar datos en vez de codificar en el main verdad? Gracias

17
EJERCICIO

Citar
Define tres clases: Casa, SalonCasa y CocinaCasa. La clase SalonCasa debe tener como atributos numeroDeTelevisores (int) y tipoSalon (String) y disponer de un constructor que los inicialice a 0 y “desconocido”. La clase CocinaCasa debe tener como atributos esIndependiente (boolean) y numeroDeFuegos (int) y un constructor que los inicialice a false y 0. La clase Casa tendrá los siguientes atributos de clase: superficie (double), direccion (String), salonCasa (tipo SalonCasa) y cocina (tipo CocinaCasa). Define un constructor para la clase Casa que establezca a unos valores de defecto los atributos simples y que cree nuevos objetos si se trata de atributos objeto. Define otro constructor que reciba como parámetros la superficie, dirección y un objeto de tipo SalonCasa y otro de tipo CocinaCasa. Compila el código para comprobar que no presenta errores, y crea un objeto de tipo Casa usando el constructor que recibe parámetros. Ten en cuenta que antes tendrás que haber creado los objetos de tipo SalonCasa y CocinaCasa para poder pasárselos al constructor. Comprueba que el objeto Casa se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto.

Aquí dejo el ejercicio, notificar cualquier error  :)

Clase CocinaCasa
Código: [Seleccionar]
public class CocinaCasa {
    private boolean esIndependiente;
    private int numeroDeFuegos;

    public CocinaCasa() {
        esIndependiente = false;
        numeroDeFuegos = 0;
    }

    public CocinaCasa(boolean esIndependiente, int numeroDeFuegos) {
        this.esIndependiente = esIndependiente;
        this.numeroDeFuegos = numeroDeFuegos;
    }

    public boolean isEsIndependiente() {
        return esIndependiente;
    }

    public void setEsIndependiente(boolean esIndependiente) {
        this.esIndependiente = esIndependiente;
    }

    public int getNumeroDeFuegos() {
        return numeroDeFuegos;
    }

    public void setNumeroDeFuegos(int numeroDeFuegos) {
        this.numeroDeFuegos = numeroDeFuegos;
    }
   
}

Clase SalonCasa
Código: [Seleccionar]
public class SalonCasa {
    private int numeroDeTelevisores;
    private String tipoSalon;

    public SalonCasa() {
        numeroDeTelevisores = 0;
        tipoSalon = "desconocido";
    }

    public SalonCasa(int numeroDeTelevisores, String tipoSalon) {
        this.numeroDeTelevisores = numeroDeTelevisores;
        this.tipoSalon = tipoSalon;
    }

    public int getNumeroDeTelevisores() {
        return numeroDeTelevisores;
    }

    public void setNumeroDeTelevisores(int numeroDeTelevisores) {
        this.numeroDeTelevisores = numeroDeTelevisores;
    }

    public String getTipoSalon() {
        return tipoSalon;
    }

    public void setTipoSalon(String tipoSalon) {
        this.tipoSalon = tipoSalon;
    }
   
}

Clase Casa
Código: [Seleccionar]
public class Casa {
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;

    public Casa() {
        superficie = 0.0;
        direccion = "";
        salonCasa = new SalonCasa();
        cocina = new CocinaCasa();
    }

    public Casa(double superficie, String direccion, SalonCasa salonCasa, CocinaCasa cocina) {
        this.superficie = superficie;
        this.direccion = direccion;
        this.salonCasa = salonCasa;
        this.cocina = cocina;
    }

    public double getSuperficie() {
        return superficie;
    }

    public void setSuperficie(double superficie) {
        this.superficie = superficie;
    }

    public String getDireccion() {
        return direccion;
    }

En el main
 
Código: [Seleccionar]
public class JavaApplication5 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        SalonCasa salon1= new SalonCasa(5,"fiesta");
        CocinaCasa cocina1= new CocinaCasa();
        cocina1.setEsIndependiente(true);
        cocina1.setNumeroDeFuegos(4);
        Casa casita1 = new Casa(400.5,"La planicie",salon1,cocina1);
        System.out.println("1ER SALON ");
        System.out.println("1er salon de la Casa de tipo " + salon1.getTipoSalon() + " con "+ salon1.getNumeroDeTelevisores()+" televisores  " );
        System.out.println("");
       
        System.out.println("1ERA COCINA ");
        System.out.println("1era Cocina es independiente " + cocina1.isEsIndependiente() +
                                    " con "+ cocina1.getNumeroDeFuegos()+" numeros de fuegos");
        System.out.println("");
       
        System.out.println("LA CASA ");
        System.out.println("Con una superficie de "+ casita1.getSuperficie()+
                                "km2 ubicado en "+casita1.getDireccion()+
                                " con un salon de "+casita1.getSalonCasa().getTipoSalon()+
                                " y "+casita1.getSalonCasa().getNumeroDeTelevisores()+" televisores "+
                                "ademas de una cocina independiente "+casita1.getCocina().isEsIndependiente()+
                                " con "+casita1.getCocina().getNumeroDeFuegos()+" numeros de fuegos");
    }
   
}

Páginas: [1]

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