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 - Dan_SB

Páginas: 1 ... 6 7 8 9 10 [11] 12 13 14
201
Hola mario!!!

Osea, que cuando utilizo en este caso "valueOf" estoy transformando un objeto String a uno Integer y cuando se usa parseInt se transforma a tipo primitivo???

¿Cual opción seria la indicada o mas optima si es asi?

202
A bueno si, tienes razón, aunque haya acertado es un intento, sorry!! xDD

Gracias!!

203
Buenas noches

Vengo a resolver el ejercicio del capitulo 74° del curso, el enunciado es así:

Crea un proyecto Java con la siguiente estructura:

a) Un package denominado formas dentro del cual existan los siguientes packages: formas1dimension, formas2dimensiones y formas3dimensiones.

b) Dentro del package formas1dimension deben existir las clases Recta y Curva.

c) Dentro del package formas2dimensiones deben existir las clases Triangulo, Cuadrilatero,Elipse, Parabola e Hiperbola.

d) Dentro del package formas3dimensiones deben existir las clases Cilindro, Cono y Esfera.

Nota: crea las clases sin rellenar su código, simplemente para poder visualizar que están dentro de los packages adecuados.

Visualiza el resultado y comprueba que las clases están agrupadas de forma adecuada.


Muestro paso a paso las imagenes, desarrollado en netbeans... no se porque me gusta tanto  :P



Solo aprecien esta portada tan linda.. (Ok no), Vamos a lo que vamos!

1. Creación del proyecto Java, le pondre "APR Paquetes" .


2. Se nos crea el proyecto, ahora clic derecho y nuevo paquete.


3. Paquete Formas como se nos ha pedido.


4. Se crea el paquete Formas, hacemos el mismo procedimiento; clic derecho sobre formas y new package.



5. Cuando hayas creado el subpaquete, de una vez añade las clases de ese paquete. Asiendo esto, ya se estableceria  formas.formas1dimension por separado.

6. Añadiendo las clases...


Resultado:





Y listo!!

204
Buenas noches

Resuelvo el ejercicio del capitulo 73° del curso, el enunciado es así:

Define una clase Java denominada Circulo que tenga como atributo de clase (estático) y constante numeroPi, siendo esta constante de tipo double y valor 3.1416. Además la clase tendrá el atributo radio (tipo double) que representa el radio del círculo, y los métodos para obtener y establecer los atributos. También debe disponer de un método para calcular el área del círculo (método tipo funcion areaCirculo que devuelve el área) y la longitud del círculo (método tipo función que devuelve la longitud). Busca información sobre las fórmulas necesarias para crear estos métodos en internet si no las recuerdas. En una clase con el método main, declara el código que cree un objeto círculo, le pida al usuario el radio y le devuelva el área y la longitud del círculo.

Okay, aqui vamos:

Clase Cirlulo:
Código: [Seleccionar]
package APR;

public class Circulo {
    static final double numeroPi = 3.1416;
    private double radio;
   
    public Circulo(double rad){
        radio = rad;
    }
   
    public void setRadio(double rad){
        radio = rad;
    }
   
    public double getRadio(){
        return radio;
    }
   
    public double calcularAreaCirculo(){
        double area = Math.pow(radio, 2) * numeroPi;
        return area;
    }
   
    public double calcularLongitudCirculo(){
        double longitud = 2 * numeroPi * radio;
        return longitud;
    }
}

Clase main:
Código: [Seleccionar]
package APR;
import java.util.Scanner;

public class Main {
    public static void main(String[]args){
        Scanner in = new Scanner(System.in);
        double rad; boolean salir = false; int opcion;
        System.out.print("Bienvenido!! introduzca el radio del circulo: ");
        rad = in.nextDouble();
        Circulo circulo = new Circulo(rad);
        while(salir == false){
            System.out.println("Para saber el area del circulo, ingrese 1.");
            System.out.println("Para saber la longitud del circulo, ingrese 2.");
            System.out.println("Para salir, ingrese 3.");
            opcion = in.nextInt();
            switch(opcion){
                case 1:
                    System.out.println("El area del circulo es: " + circulo.calcularAreaCirculo());
                break;
                case 2:
                    System.out.println("La longitud del circulo es: " + circulo.calcularLongitudCirculo());
                break;
                case 3:
                    System.out.println("Adios!");
                    salir = true;
                break;
                default:
                    System.out.println("Caracter desconocido, intente de nuevo.");
                break;
        }
        }
    }
}

Ejecución del programa:



¿Es posible crear un método en la clase Circulo para establecer el valor de numeroPi? ¿Por qué?

No. Porque el static no se puede declarar en un método. Solo cabecera. Lo unico valido es el final.

Código: [Seleccionar]
public void setNumeroPi(double pi){
        final double numeropi = pi;
    }

Saludos

205
Buenas tardes!!!

Vengo a resolver el ejercicio del capitulo 72° del curso, el enunciado es así:

Crea un programa Java que permita “jugar a adivinar un número” como se expone a continuación. El programa debe iniciarse indicando “Se ha generado un número aletatorio entero entre 1 y 100, intente adivinarlo”. El usuario introducirá un número y si el número aleatorio generado por el ordenador es menor deberá indicarse “No has acertado: el número es menor. Prueba otra vez”. Si el usuario introduce un número menor que el número aleatorio deberá indicarse “No has acertado: el número es mayor”. El programa terminará cuando el usuario introduzca el número aleatorio que había escogido el ordenador.

Aquí presento mi versión, el código:

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

public class NumeroAzar {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int aleatorio = new Random().nextInt(100), num = 0, intentos = 0;
        System.out.println("Bienvenido! adivina el numero del 1 al 100 que ha elegido la computadora!");
        do{
            System.out.print("¿Cual crees que sea?: ");
            num = in.nextInt();
            if(num > aleatorio){
                intentos++;
                System.out.println("El numero es mayor que el que eligio la computadora, intenta otra vez!");
            }
            else if(num < aleatorio){
                intentos++;
                System.out.println("El numero es menor que el que eligio la computadora, intenta otra vez!");
            }
            else if(num == aleatorio)
                System.out.println("Has acertado!!! el numero es: " + num + " (intentos " + intentos +")");
        }while(num != aleatorio);
    }   
}

Ejecución:



Espero sus comentarios!

206
Buenas tardes!!!

Resuelvo el ejercicio del capitulo 70° del curso. Se nos presento el siguiente código:

Código: [Seleccionar]
import javax.swing.JOptionPane;
public class ejemplo1 {
    public static void main (String[] Args) {
        String entradaUsuario = JOptionPane.showInputDialog ( "Introduzca un número:" );
        System.out.println ("El doble del número introducido es: " + 2*entradaUsuario); 
    }
}

El error:El problema que tenemos es que nos salta un mensaje de error “operator * cannot be applied to int, java.lang.String”.

Y las preguntas, eran estas:

Citar
¿Qué interpretación haces de este mensaje de error?

String entradaUsuario = JOptionPane.showInputDialog ( "Introduzca un número:" );

Lo que sucede aqui, es que estamos usando este operador "*" (multiplicacion) con cadenas de texto.. osea, se esta multiplicando un entero por cadena de texto (int * String). Esto da como resultado como se ve, "Error".

Citar
¿Cómo se puede corregir el código para que a través de una conversión de tipos se ejecute el programa?

Lo corregi de esta manera:

Código: [Seleccionar]
import javax.swing.JOptionPane;
public class ejemplo1 {
    public static void main (String[] Args) {
        String entradaUsuario = JOptionPane.showInputDialog ( "Introduzca un número:" );
        Integer num = 0;
        num = num.valueOf(entradaUsuario);
        System.out.println ("El doble del número introducido es: " + 2*num); 
    }
}

Ejecución...!






207
Buenos dias!!

Mi versión del ejercicio del capitulo 69° del curso, enunciado:

Crea una clase con el método main donde declares una variable de tipo array de Strings que contenga los doce meses del año, en minúsculas y declarados en una sola línea. A continuación declara una variable mesSecreto de tipo String, y hazla igual a un elemento del array (por ejemplo mesSecreto = mes[9]. El programa debe pedir al usuario que adivine el mes secreto y si acierta mostrar un mensaje y si no pedir que vuelva a intentar adivinar el mes secreto.

Aquí mi clase Mes_Secreto:
Código: [Seleccionar]
package mes_secreto;
import java.util.Scanner;

public class Mes_Secreto {   
    public static void main(String[] args) {
       Scanner in = new Scanner(System.in);
       String meses[] = new String []{"enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"};
       String mesSecreto = meses[5], dato ="";
       System.out.print("Adivine el mes secreto. Introduzca el nombre del mes en minúsculas: ");
       dato = in.next();
       if(dato.equalsIgnoreCase(mesSecreto) == true){
           System.out.println("Has acertado!!!");
       }
       else{
       do{
           System.out.println("No ha acertado. Intente adivinarlo introduciendo otro mes: ");
           dato = in.next();
       }while(dato.equalsIgnoreCase(mesSecreto)== false);
       System.out.println("Has acertado!!!");
       }
    } 
}

Ejecución del programa:



Asi como el ejemplo esta:

Adivine el mes secreto. Introduzca el nombre del mes en minúsculas: febrero

No ha acertado. Intente adivinarlo introduciendo otro mes: agosto

No ha acertado. Intente adivinarlo introduciendo otro mes: octubre

¡Ha acertado!


Saludos!

208
Hola mauria!!!

Citar
Por qué en la segunda sentencia If cuando se compara la variable caracterA == "A" || caracterA == "a", por más que sea verdadero, da falso y pasa a Else?

El caso que te sucede ahí, es que estas usando un "String". . String es un objeto, y tu no puedes usar "==" con objetos. El "==" solo se utiliza con los tipos primitivos (char, int, double... etc).

En ese pedazo usa un equals:

caracterA.equals("A") || caracterA.equals("a")

Con esto es que puedes comparar objetos. O bien, ya que viste el "equalsIgnoreCase" lo puedes usar tambien aqui para ahorrarte espacio en ese if.

caracterA.equalsIgnoreCase("A")

Ignore Case, lo que hace es que acepta todo sin importar que sea mayúscula o minúscula.

Espero que te haya ayudado mi humilde comentario :)

209
Buenas noches!!!

Vengo aquí a resolver las preguntas del capitulo 68° del curso, dice así:

Citar
¿Se puede acceder a un objeto anónimo contenido en un ArrayList?

Si se puede acceder, hice la prueba manualmente y si es posible.

Citar
¿Se puede inicializar un objeto de una clase que contiene tres atributos de tipo objeto declarando en el constructor que los atributos se inicializan mediante objetos anónimos?

Ok, aqui no se si este bien o no, pero me parece que si es posible, si hablan de esto:

person1 = new Persona("Daniel", "Phillips");

Si es asi, se puede hacer tambien...

Corrijanme si ando equivocado! Muchas gracias!

210
Ah, veo que la pregunta cambio.. bueno, en ese caso retiro lo dicho...!

211
Wilfrido...

Lee el indice aqui:

https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=58&Itemid=180

A juzgar por el indice diria que en Java avanzado se adentra mas en el uso de clases del API y aprender sobre interfaz grafica (Ventana, botones, etiquetas...) ya que por el indice leí "JLabel" (etiqueta), "JtextField" (Campo de texto)... etc. xD

212
Copiado sus comentarios, muchisimas gracias!!

213
Buenos Tardes

Hago entrega del ejercicio del capitulo 67°, debo confesar que fue bastante complicado para mi esto.. Cuando lo complete ayer a la media noche, con sueño me fui a desahogarme con poker xDD

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:

Código: [Seleccionar]
package ArrayObject2;

public class CantanteFamoso {
    private String nombre;
    private String discosConMasVentas;
   
    public CantanteFamoso(){
        nombre = "";
        discosConMasVentas = "";
    }
   
    public CantanteFamoso(String nombre, String discosConMasVentas){
        this.nombre = nombre;
        this.discosConMasVentas = discosConMasVentas;
    }
   
    public String getDiscoConMasVentas(){
        return discosConMasVentas;
    }
   
    public String getNombre(){
        return nombre;
    }
   
}

Clase Lector
Código: [Seleccionar]
package ArrayObject2;
import java.util.Scanner;

public class Lectores {
    public String LeerCadena(){
        Scanner in = new Scanner(System.in);
        return in.nextLine();
    }
}

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

public class ListaCantantesFamosos {
    ArrayList <CantanteFamoso> cantantes;
    public ListaCantantesFamosos(){
        cantantes = new <CantanteFamoso> ArrayList();
    }
   
    public void setCantanteFamoso(CantanteFamoso Cantante){
        cantantes.add(Cantante);
    }
   
    public void getCantanteFamoso(){
        CantanteFamoso cantante;
        Iterator<CantanteFamoso> sin = cantantes.iterator();
        while(sin.hasNext()){
            cantante = sin.next();
            System.out.print("Cantante: " + cantante.getNombre());
            System.out.println("        Discos con mas ventas: " + cantante.getDiscoConMasVentas());
        }       
    }
}

Clase Test:
Código: [Seleccionar]
package ArrayObject2;

public class Test {
    public static void main(String[]args){
        CantanteFamoso cantante1, cantante2; String dato, cant, disc;
        ListaCantantesFamosos List = new ListaCantantesFamosos();
        Lectores leer = new Lectores();                       
        cantante1 = new CantanteFamoso("Damon Albarn", "Blur"); cantante2 = new CantanteFamoso("Lady Gaga", "The Fame Monster");
        List.setCantanteFamoso(cantante1);
        List.setCantanteFamoso(cantante2);
        System.out.println("La lista contiene los siguientes datos: ");
        List.getCantanteFamoso();
        System.out.println("  ");
        boolean si, no = false;
        while(no == false){
            si = false; no = false;             
            System.out.println("Ingrese otro artista mas: ");
            cant = leer.LeerCadena();
            System.out.println("Ingrese su album mas vendido: ");         
            disc = leer.LeerCadena();
            List.setCantanteFamoso(new CantanteFamoso(cant, disc));
            System.out.println("  ");
            System.out.println("La lista contiene los siguientes datos: ");
            List.getCantanteFamoso();     
            System.out.println("  ");
            while (no == false && si == false){
              System.out.println("¿Deseas agregar otro artista y su album?");
              dato = leer.LeerCadena();
              if(dato.equalsIgnoreCase("Si") == true){si = true; System.out.println("  ");}
              else if(dato.equalsIgnoreCase("No") == true){no = true;}
              else System.out.println("Opcion desconocida, intente de nuevo.");
        }
        }           
    }
}

Esta vez la parte que anteriormente hice con variables enteras que funcionaban como un "Switch", lo desarrolle con variables Booleanas!





Seguire leyendo y leyendo este ejercicio, para poder manejar con mas facilidad  estos casos en que los parametros de los metodos son objetos.

Muchas gracias y saludos a todos!

214
Buenas noches!!!

Otro dato nuevo que ver!! en mi vida había visto otro tipo de for  ???... El enunciado dice así:

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


La clase Lectores para leer datos:

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

public class Lector {
    public String LeerCadena(){
        Scanner in = new Scanner(System.in);
        return in.nextLine();
    }
}

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

public class ListaCantantesFamosos {
    ArrayList <String> cantantes;
    public ListaCantantesFamosos(){
        cantantes = new <String> ArrayList(2);
    }
   
    public void setCantante(String name){
        cantantes.add(name);
    }
   
    public int getTamaño(){
        return cantantes.size();
    }
   
    public String getCantante(int index){
        if (index >= 0 && index < cantantes.size()){
            return cantantes.get(index);
        }
        else{return "No existe cantante en esta casilla.";}
    }
   
    public void removerCantante(int index){
        if (index >= 0 && index < cantantes.size()){
            cantantes.remove(index);
        }
        else{}
    }
}


Clase test:

Código: [Seleccionar]
package ArrayObject;

public class Test {
    public static void main(String[]args){
        Lector leer = new Lector();
        ListaCantantesFamosos Lista = new ListaCantantesFamosos();
        int no = 0; String dato;
        Lista.setCantante("Ruben Blades");
        Lista.setCantante("Shakira");       
        while(no < 1){
            int si = 0;
            System.out.println("Ingresa un cantante famoso!!");
            dato = leer.LeerCadena();
            System.out.println("   ");
            Lista.setCantante(dato);
            int i = 0;
            for(String data: Lista.cantantes){
            System.out.println(i+1 + ". " + data + ".");
            i++;
        }
            System.out.println("   ");
            while(si < 1 && no < 1){
            System.out.print("Escriba \"Si\" para agregar otro artista, de lo contrario, escriba \"No\" para salir del programa: ");
            dato = leer.LeerCadena();           
            if (dato.equalsIgnoreCase("no") == true){no++;}
            else if (dato.equalsIgnoreCase("si") == true){si++; System.out.println("  ");}
            else System.out.println("Entrada Desconocida. Intentelo de nuevo.");
            }
        }
        System.out.println("Adios!!!");
        }       
    }

Su ejecución es así:





Pude haber usado variables booleanas para el si y no, en ves de esas variables enteras "Switch" tambien. Por cierto, se preguntaran, ¿Para que declare la variable i dentro del while?... era para que me pudiese salir así:

1.
2.
3.
4.
5. . .

Esta parte se podia colocar asi y funcionaba igual:

Código: [Seleccionar]
package ArrayObject;

public class Test {
    public static void main(String[]args){
        Lector leer = new Lector();
        ListaCantantesFamosos Lista = new ListaCantantesFamosos();
        int no = 0; String dato;
        Lista.setCantante("Ruben Blades");
        Lista.setCantante("Shakira");       
       [b] while(no < 1){
            int si = 0, i = 1;
            System.out.println("Ingresa un cantante famoso!!");
            dato = leer.LeerCadena();
            System.out.println("   ");
            Lista.setCantante(dato);       
            for(String data: Lista.cantantes){
            System.out.println(i + ". " + data + ".");
            i++;
        }[/b]
            System.out.println("   ");
            while(si < 1 && no < 1){
            System.out.print("Escriba \"Si\" para agregar otro artista, de lo contrario, escriba \"No\" para salir del programa: ");
            dato = leer.LeerCadena();           
            if (dato.equalsIgnoreCase("no") == true){no++;}
            else if (dato.equalsIgnoreCase("si") == true){si++; System.out.println("  ");}
            else System.out.println("Entrada Desconocida. Intentelo de nuevo.");
            }
        }
        System.out.println("Adios!!!");
        }       
    }

Solo quería ver exactamente que significaba el "i+1" jugando un poco. jajaja!!

Cualquier corrección no duden en decírmelo!

215
Valla, tiene sentido... asi que pop era una fusion entre metodo y funcion... tiene sentido! :O

Elimina (Procedimiento)
Devuelve(Funcion)

Vaya!! Gracias!

216
Jajaja la verdad la segunda pregunta me dejo pensando un rato (un bueeen rato xD) Gracias por tus comentarios!! :)

217
Copiado!! Muchas gracias por el dato!!

218
Hola Ogramar!!!

Que comentario tan claro!! la verdad me tenia confundido eso de donde deberia mostrar mensajes por pantalla. Pensé primero que como el main debía tener el menor código posible, en los metodos podia poner los System.out... pero ya veo que es valido dejarlo en el main!

Gracias!!!

219
Ooops, me falto un pisss de linea :

 cantantes = new ArrayList<String>(2);


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

public class ListaCantantesFamosos {
    private ArrayList<String> cantantes;

    public ListaCantantesFamosos(){
        cantantes = new ArrayList[b]<String>[/b](2);
    }

    public void setNombreCantante(String nombreCantante){
        cantantes.add(nombreCantante);
    }

    public String getCantante(int index){
        if(index >= 0 && index < cantantes.size()){
            return cantantes.get(index);
        }
        else
            return "No existe cantante en esta casilla.";
    }

    public int getTamaño(){
        return cantantes.size();
    }

    public void RemoverCantante(int index){
        if(index >= 0 && index < cantantes.size()){
             cantantes.remove(index);
        }
        else
        {System.out.println("No existe cantante en esta casilla.");}
    }
}

Para que solo admita String!

220
Hola Mario!!

Gracias a ustedes de antemano por todo esto, no sabia muchísimas cosas sobre java... este curso me ha ayudado bastante. En cuanto las variables si, tienes razón.. no es correcto declararlas ahí...  disculpas por eso!

Y si, me pondré a analizar esas soluciones alternas. Muy probable que saque algo nuevo que aprender de eso :)

Gracias por tus correcciones!
Saludos!

Páginas: 1 ... 6 7 8 9 10 [11] 12 13 14

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