Foros aprenderaprogramar.com
		Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Hector Hugo en 02 de Marzo 2016, 05:20
		
			
			- 
				Hola amigos. Este es mi primer post y espero no cometer muchos errores. Les presento mi solución del ejercicio. Estoy usando 'THIS' aunque sé que es un tema que todavía no se trata. Lo que pasa es que soy malo ideando nombres para las variables. La página es muy buena y me han gustado los ejercicios. Espero sus comentarios y correcciones. Gracias.
 
 public class Rueda {
 
 private String tipo;
 private double grosor;
 private double diametro;
 private String marca;
 
 public Rueda() {
 
 tipo = "";
 grosor = 0.0;
 diametro = 0.0;
 marca = "";
 }
 
 public String getTipo(){
 return tipo;
 }
 
 public void setTipo(String tipo){
 this.tipo = tipo;
 }
 
 public double getGrosor(){
 return grosor;
 }
 
 public void setGrosor(double grosor){
 this.grosor = grosor;
 }
 
 public double getDiametro(){
 return diametro;
 }
 
 public void setDiametro(double diametro){
 this.diametro = diametro;
 }
 
 public String getMarca(){
 return marca;
 }
 
 public void setMarca(String marca){
 this.marca = marca;
 }
 
 public void comprobarDimensiones(){
 
 if(diametro > 1.4){
 
 System.out.println("La rueda es para un vehículo grande");
 
 if(grosor < 0.4){
 
 System.out.println("El grosor para esta rueda es inferior al recomendado");
 
 }
 
 }else if(diametro > 0.8){
 
 System.out.println("La rueda es para un vehículo mediano");
 
 if(grosor < 0.25){
 
 System.out.println("El grosor para esta rueda es inferior al recomendado");
 
 }
 
 }else{
 
 System.out.println("La rueda es para un vehículo pequeño");
 
 }
 }
 }
 
- 
				Hola Hector Hugo bienvenido y gracias por tus comentarios
 
 Veamos el ejercicio (como has comentado estás usando this, que todavía no se ha explicado según el guión del curso), sigo lo que dice el enunciado:
 
 Si el diámetro es superior a 1.4 debe mostrarse por consola el mensaje “La rueda es para un vehículo grande”. -- > SE CUMPLE
 
 Si es menor o igual a 1.4 pero mayor que 0.8 debe mostrarse por consola el mensaje “La rueda es para un vehículo mediano”. -- > SE CUMPLE
 
 Si no se cumplen ninguna de las condiciones anteriores debe mostrarse por pantalla el mensaje “La rueda es para un vehículo pequeño”. -- > SE CUMPLE
 
 Si el diámetro es superior a 1.4 con un grosor inferior a 0.4 deberá mostrarse por consola el mensaje “El grosor para esta rueda es inferior al recomendado”. -- > SE CUMPLE
 
 Si el diámetro es menor o igual a 1.4 pero mayor que 0.8, con un grosor inferior a 0.25, deberá mostrarse por consola el mensaje “El grosor para esta rueda es inferior al recomendado”. -- > SE CUMPLE
 
 Por tanto veo el ejercicio correcto.
 
 Hay otras formas de escribir las condiciones por ejemplo la que se presenta en https://www.aprenderaprogramar.com/foros/index.php?topic=2157.0
 
 Saludos
- 
				Muy buenas, yo propongo otro resultado (muy parecido a mi compañero sin .this y con el condicional en otro orden)
 
 Tengo una duda antes de nada, en el método para comprobar dimensiones lo he puesto como set aunque sé que no es necesario y el resultado me parece correcto igualmente.
 
 Gracias!
 
 CÓDIGO:
 
 public class Rueda { 
 
 //Definimos los atributos de la clase Rueda
 
 private String tipo;
 private double grosor;
 private double diametro;
 private String marca;
 
 //Constructor: cuando se cree un objeto Rueda se ejecutará el código que incluyamos en el constructor
 
 public Rueda () {
 tipo = "Antideslizante";
 grosor = 13.2;
 diametro = 50;
 marca = "Firestone";
 } //Cierre del constructor
 
 //Métodos para establecer los valores de los atributos
 
 public void setTipo (String valorTipo) {
 tipo = valorTipo;
 } //Cierre del método
 
 public void setGrosor (double valorGrosor) {
 grosor = valorGrosor;
 } //Cierre del método
 
 public void setDiametro (double valorDiametro) {
 diametro = valorDiametro;
 } //Cierre del método
 
 public void setMarca (String valorMarca) {
 marca = valorMarca;
 } //Cierre del método
 
 public void setcomprobarDimensiones (double diametro, double grosor) {
 
 //Condicion A
 if (diametro > 1.4) { System.out.println ("La rueda es para un vehículo grande");
 }
 else if (diametro <= 1.4 && diametro > 0.8) {
 System.out.println ("La rueda es para un vehículo mediano"); }
 else {
 System.out.println ("La rueda es para un vehículo pequeño"); }
 
 //Condicion B
 if (diametro > 1.4 && grosor < 0.4 || diametro <= 1.4 && diametro > 0.8 && grosor < 0.25)
 { System.out.println ("El grosor para esta rueda es inferior al recomendado");}
 }
 
 
 //Métodos para obtener los valres de los atributos
 
 public String getTipo () { return tipo; } //Cierre del método
 
 public double getGrosor () { return grosor; } //Cierre del método
 
 public double getDiametro () { return diametro; } //Cierre del método
 
 public String getMarca () { return marca; } //Cierre del método
 
 //Método comprobarDimensiones con condicional IF
 
 } //Cierre de la clase
- 
				Hola julian.delsol
 
 Para plantear una solución a un ejercicio crea un nuevo hilo (un nuevo tema o conversación en el foro), de esa manera se mantienen las distintas propuestas ordenadas y podemos responderlas de una en una
 
 Para pegar código en el foro (y para otras cuestiones) sigue las indicaciones que se dan en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0
 
 Un método que comienza por set es un método para establecer algún atributo de la clase, por ejemplo setGrosor. No debes nombrar a un método comenzando por set si no tiene este fin. Bueno, poder puedes hacerlo, pero estarás llevándole la contraria a millones de programadores que sólo usan set para establecer atributos
 
 Saludos