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

Páginas: 1 [2]
21
Muchisimas gracias por todo, hasta ahora he entendido todo lo que me has explicado, pero, en esta parte no logro que el codigo funcione..
Citar
Sí, también puedes hacerlo así si quieres. Depende de cómo prefieras hacerlo, si prefieres que el título le venga como parámetro le pones un parámetro, si prefieres que el título sea siempre el mismo no le pones parámetro y le pasas siempre el mismo título.
...dejando la clase PrimerFrame tal cual está y haciendo la subclase de esta(ComporbarComponentes) justo con la misma idea que he hecho la clase PrimerFrame
Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;
public class ProbarComponentes extends PrimerFrame{

public ProbarComponentes(){
super("titulo definitivo");
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


setLayout(new FlowLayout());
JButton play=new JButton("play");
JButton stop=new JButton("stop");


JLabel jl=new JLabel("Etiqueta",JLabel.RIGHT);
JTextField jt=new JTextField("Escribe",10);
add(play);
add(stop);
add(jl);
add(jt);
setVisible(true);
jt.setText("Pepe");

}
public static void main(String[]args){
ProbarComponentes d=new ProbarComponentes();
}
}

Siento ser tan pesado, y agradezco muchisimo la ayuda, lo cierto es que entiendo todo lo que me has explicado , pero este "detalle"( de por qué con la subclase PrimerFrame puedo hacer el constructor sin pasarle argumentos, y pasarle un String con el super...en cambio al hacer una subclase de PrimerFrame haciendo lo mismo no me sale el programa) es el que no logro comprender

Una vez mas muchas gracias por todo!!

22
Muchas gracias por la respuesta. Me ha servido de gran ayuda.

Ahora sé como se debe hacer, pero tengo unas pequeñas dudas. En este otro ejemplo que inserto, con el constructor public PrimerFrame() no estoy pasandole ningún argumento, pero con Super le estoy pasando "titulo de barra" que sería un argumento de tipo String.Entonces mis dudas son:
-En este caso estoy llamado al constructor de la clase JFrame "public JFrame()"-->sin parametros?...o "public JFrame(String variable)"?


Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;
public class PrimerFrame extends JFrame{

public PrimerFrame(){
super("titulo de la barra");
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);

}

public static void main(String[]args){
PrimerFrame pf=new PrimerFrame();

}

}


- Y la otra duda, en los ejemplos anteriores(el que me has respondido).¿Por qué en la clase ProbarComponentes  no puede hacer lo mismo que en la clase PrimerFrame?O sea, no pasarle parametros al constructor y despues con super poner el mensaje que quiero poner como titulo?O sea:
Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;
public class PrimerFrame extends JFrame{

public PrimerFrame(){
super("titulo");
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);

}

public static void main(String[]args){
PrimerFrame pf=new PrimerFrame();

}

}


Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;
public class ProbarComponentes extends PrimerFrame{

public ProbarComponentes(){
super("Titulo Barra");

setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


setLayout(new FlowLayout());
JButton play=new JButton("play");
JButton stop=new JButton("stop");


JLabel jl=new JLabel("Etiqueta",JLabel.RIGHT);
JTextField jt=new JTextField("Escribe",10);
add(play);
add(stop);
add(jl);
add(jt);
setVisible(true);
jt.setText("Pepe");

}
public static void main(String[]args){
ProbarComponentes d=new ProbarComponentes();
}
}


Muchisimas gracias por todo!

23
Estoy empezando en el mundo de la POO y tengo una pequeña duda.

La idea es simplemente crear una subclase(ProbarComponentes) de una clase que simplemente sea un marco(PrimerFrame), y que en esta subclase pueda crear 2 botones en el marco, además de poner otro titulo en la barra del marco

Mi intención es que ProbarComponentes que es subclase de PrimerFrame tenga en el titulo de la barra la palabra “barra” y no “Título de barra” que lo coge de la clase PrimerFrame(a su vez subclase de JFrame). Como en la clase PrimerFrame si puede poner el titulo de la barra de marco al ser subclase de JFrame, pensaba que tambien ProbarComponentes podría modificar el titulo de la barra al ser subclase de PrimerFrame. No sé si estoy cerca de la solución o como lo estoy haciendo no tiene sentido y hay que hacerlo de otra forma. Gracias de antemano por la ayuda, mi intensión no es saber la solución, sino poder entenderla para poder aprender.

Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;
public class PrimerFrame extends JFrame{

public PrimerFrame(String tittle){
super("Titulo de la barra");
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);


}
}


Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;
public class ProbarComponentes extends PrimerFrame{

public ProbarComponentes(String tit){
super("barra");
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);

setLayout(new FlowLayout());
JButton play=new JButton("play");
JButton stop=new JButton("stop");
add(play);
add(stop);


}
public static void main(String[]args){
ProbarComponentes d=new ProbarComponentes("er");
}
}


25
Hola Jasper(o cualquiera que me pueda responder)!Entiendo lo que me has dicho, pero entonces por qué en este caso siendo similar al "programa" anterior( con la diferencia que aqui no uso la clase Scanner) si me funciona correctamente la comparación del String??? Sé que insisto en algo que es muy básico pero no quisiera quedarme  con la duda
Código: [Seleccionar]
public class Letra{
public static void main(String[]args){
String nombre="J";

if(nombre=="J"){
System.out.println("La letra es J");

}else{
System.out.println("La letra no coincide");
}

}
}

26
muchísimas gracias a ambos!!!
Todo aclarado!!!

27
Muchisimas  gracias por la respuesta, me ha servido de gran ayuda. Pero quisiera saber si aún así es posible compararlo de esa manera(solo es curiosidad) ya que si en lugar de hacerlo con un String lo hago con un char si me funciona el programa, o si es un entero,por ejemplo, tambien.Por eso era mi duda sobre por que no me deja hacerlo con String de la manera que lo hago.
Por ejemplo con enteros:
Código: [Seleccionar]

int numero;
Scanner lectura=new Scanner(System.in);
System.out.println("numero?");
numero=lectura.next();

if(numero==5||numero==6){
numero=1000;

 }else{

numero=2000;
 }




28
Hola tengo una duda de algo MUY simple y MUY basica pero no doy con la solución.Lo que quiero con el siguiente codigo es que al introducir el sexo, en caso de introducir "m" o "M" me indique que el sexo es "mujer", o en este caso "M", y si no, sexo pase a ser igual a "H". Se como hacerlo declarando sexo como char(el programa está hecho de esta manera en los comentarios de abajo(/*..........*/)), pero no sé el motivo por el cual no lo puedo hacer declarando la variable sexo como String, ya que siempre me acaba diciendo que Sexo=H, o sea ni si quiera hacer correctamente el primer "if" ya que no reconoce lo de "sexo==m" o "sexo=="M". Quisiera que alguien me dijera en que fallo y el motivo.Muchas gracias de antemano, saludos!!!


Código: [Seleccionar]
import java.util.Scanner;
public class Prueba {

public static void main(String[]args){

String sexo;
Scanner lectura=new Scanner(System.in);
System.out.println("Sexo?");
sexo=lectura.next();

if(sexo=="m"||sexo=="M"){
sexo="M";

}else{

sexo="H";
}

System.out.println("El sexo es:"+sexo);
}


}
/*
import java.util.Scanner;
public class Probes2 {

public static void main(String[]args){

char sexo;
Scanner lectura=new Scanner(System.in);
System.out.println("Sexo?");
sexo=lectura.next().charAt(0);

if(sexo=='m'||sexo=='M'){
sexo='M';

}else{

sexo='H';
}

System.out.println("El sexo es:"+sexo);
}


}
*/

29
Hola!Muchas gracias por todo,me has servido de mucha ayuda.En mis pruebas(no lo puse en el código anterior) ponía lo de this.salto=salto pero en el sitio equivocado xD
Sobre el segundo metodo, private lo he hecho más que nada para probar el "encapsulamiento".
Una vez más, gracias por todo!!!!!

30
Hola, a ver si alguien me puede echar una mano con este ejercicio(estoy empezando en este mundo de la POO):

Tengo 2 clases, la clase Jugadores y la clase JugadoresMain. En principio lo que intento que haga el programa es que al pasar un valor(salto) por el metodo PasadoMetro este método determine si el salto es mayor a 1, en este caso si es menor  que 1 te indica que lo "sigas intentando", pero si es mayor te da el mensaje que se ha pasado de 1 y llama al método SaltoMasAlto para ver si hay un nuevo record o no.

En el metodo SaltoMasAlto mi intención es que si el nuevo salto es mayor que el salto "guardado"(mayor que 1) te indique que hay un nuevo record, sino, si el salto "guardado" es mayor entonces te indica que ese sigue siendo el record.

Por ejemplo mi intención es que : si el primer salto es 1.1, 1.1>1 por lo tanto entra en el metodo SaltoMasAlto, como no hay nada guardado entonces 1.1 es el nuevo record...Si el segundo salto es 1.4, 1.4>1 por lo tanto entra en el metodo SaltoMasAlto,1.4>1.1
 *por lo tanto hay nuevo record...Si el tercer salto es 1.2, 1.2>1 por lo tanto entra en el metodo SaltoMasAlto, 1.2<1.4 por lo tanto no hay nuevo record...

Sé donde está el fallo de mi ejercicio, y es que en el if(salto>this.salto) del metodo "SaltoMasAlto" esa condicion siempre se cumple ya que this.salto es cero...pero no se me ocurre como resolverlo y hacer que "this.salto" (o cualquier otra variable que pueda crear) pueda guardar el valor del salto mas alto para así compararlo con el nuevo salto.


Código: [Seleccionar]
public class Jugadores {


private int edad;
private double salto;
private int puntos;
private String apellido;
private String nombre;


public Jugadores(){
this.nombre="Lebron";
this.apellido="James";
this.edad=27;



}
public Jugadores(String nombre,String apellido,int edad){
this.nombre=nombre;
this.apellido=apellido;

this.edad=edad;


}

public String GetNom(){
return this.nombre;
}
public String GetAp(){
return this.nombre;
}

public void PasadoMetro(double salto){

if(salto>1){

System.out.println(this.nombre+" "+this.apellido+" Ha pasado de 1, eres un campeón");

SaltoMasAlto(salto);

}else{
System.out.println("Siga intentandolo, salto mejorable");
}

}
private void SaltoMasAlto(double salto){



if(salto>this.salto){


System.out.println("El nuevo record es"+salto);
}else{
System.out.println("El record sigue siendo"+this.salto);
}
}
}



public class JugadoresMain {

public static void main(String[]args){

Jugadores jugador1=new Jugadores();


Jugadores jugador2=new Jugadores("Jose","Perez",32);

Jugadores jugador3=new Jugadores("Larry","Bird",35);


System.out.println("Primer salto de:"+jugador1.GetNom()+" "+jugador1.GetAp()+": 0,5");
jugador1.PasadoMetro(0.5);
System.out.println("Primer salto de:"+jugador2.GetNom()+" "+jugador2.GetAp()+": 1");
jugador2.PasadoMetro(1);


System.out.println("Primer salto de:"+jugador3.GetNom()+": 1,3");
jugador3.PasadoMetro(1.3);
System.out.println("Segundo salto de:"+jugador1.GetNom()+": 1,2");
jugador1.PasadoMetro(1.3);
System.out.println("Segundo salto de:"+jugador2.GetNom()+":2,1");
jugador2.PasadoMetro(2.1);
System.out.println("Segundo salto de:"+jugador1.GetNom()+": 1,1");
jugador1.PasadoMetro(1.1);
}
}





Gracias por la ayuda!!!

31
Muchisimas gracias, me has sido de gran ayuda la verdad!Saludos y hasta la próxima!!

32
Muchisimas gracias por la aclaración, la verdad que me ha ayudado mucho. Pero tengo otra pequeña duda->¿Se puede crear un método donde pueda intercambiar cualquier pareja de variable en general?O sea,  cualquier pareja de variable que yo le pueda pasar al método, que este sirva para intercambiarlas.Por ejemplo en tu código el método "intercambio" intercambia exclusivamente los valores de num3 y num4, pero si quisiera además intercambiar num1 y num2 tendría que hacer otro método especificamente para num1 y num2, entonces mi pregunta es si posible que el método te intercambie cualquier par de valores que le puedas introducir.

PS.No sabía que se podía adjuntar el código en el Foro, la verdad es que era la primera vez que escribía aquí.Una vez más gracias por todo

33
Hola!Antes que nada comentar que estoy aprendiendo a programar en Java, y agradezco cualquier
ayuda. Tengo una pequeña duda, en este ejercicio intento hacer el intercambio de los
valores de 2 variables, al hacerlo sin el uso de un método me sale correctamente(es el caso
de las variables num1 y num2) pero si lo hago usando un método(el método "intercambio") no me funciona, no se intercambian
(es el caso de las variables num3 y num4)...en cambio si lo hiciera como el ejemplo de más abajo(usando 2 clases,la clase Prueba
y la clase PruebaMain) si puedo intercambiar 2 variables usando un metodo..Espero que alguien me pueda ayudar con este tema,
gracias de antemano y saludos!


Código: [Seleccionar]
class Estudio{

public static void main(String []args){

int num1=2;
int num2=5;

int num3=10;
int num4=20;



System.out.println("ANTES DEL INTERCAMBIO..num: "+num1+" num1: "+num2);
int prov=num1;
num1=num2;
num2=prov;
System.out.println("DESPUES DEL INTERCAMBIO...num:"+num1+" num1: "+num2);
System.out.println("ANTES DEL INTERCAMBIO..num3: "+num3+" num4 "+num4 );

intercambio(num3,num4);
System.out.println("DESPUES DEL INTERCAMBIO..num3: "+num3+" num4 "+num4 );

}


public static void intercambio(int num,int nume){

int prov=num;
num=nume;
nume=prov;

}


}

   -----------------------------------------------------------------------------
   ------------------------------------------------------------------------
   (OTRO EJEMPLO, USANDO 2 CLASES, AQUI SI ME FUNCIONA USANDO UN METODO)
   
   

Código: [Seleccionar]
class Prueba{

private int a;
private int b;


public Personas(int a,int b){
this.a=a;
this.b=b;

}
public void setValorA(int a){

this.a=a;

}
public void setValorB(int b){
this.b=b;
}


public int getValorA(){
return this.a;
}
public int getValorB(){
return this.b;
}


public void setIntercambio(){

int prov;
prov=a;
a=b;
b=prov;
}
}
---------------------
Código: [Seleccionar]
class PruebaMain{


public static void main(String[]args){

Personas valores=new Personas(3,5);

System.out.println("A:"+valores.getValorA());
System.out.println("B:"+valores.getValorB());

valores.setIntercambio();

System.out.println("Nuevo valor de A:"+valores.getValorA()+" Nuevo valor de B:"+valores.getValorB());
}
}
   
   
   

Páginas: 1 [2]

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