Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: momo en 02 de Octubre 2014, 00:00
-
Pregunta:
¿Es posible crear un método en la clase Circulo para establecer el valor de numeroPi? ¿Por qué?
Respuesta:
No Es posible ya que vamos a Declarar numeroPi como una constante -- y por lo tanto debe de ir obligatoria mente en cabecera de la clase si hacemos un método para establecer el valor de numeroPi nos daría un error .
/*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.
¿Es posible crear un método en la clase Circulo para establecer el valor de numeroPi? ¿Por qué?*/
TESTCIRCULO
public class TestCirculo
{
public static void main()
{
String opcion="",respuesta="";
EntradaDeTeclado entrada=new EntradaDeTeclado();
Circulo circulo=new Circulo(0.0);
do{
System.out.println(" | MENU CIRCULO |");
System.out.println(" | 1.INGRESAR VALOR |");
System.out.println(" | 2. CALCULAR AREA |");
System.out.println(" | 3. CALCULAR LONGITUD CUYO RADIO |");
System.out.println(" | 4. CALCULAR LONGITUD CUYO DIAMETRO |");
entrada.pedirEntrada();
opcion=entrada.getEntrada();
int menuCirculo=Integer.valueOf(opcion);
switch(menuCirculo)
{
case 1:
{
System.out.println("INTRODUSCA EL VALOR");
entrada.pedirEntrada();
double radio=Double.valueOf(entrada.getEntrada());
circulo=new Circulo(radio);
System.out.println("GRACIAS POR INGRESAR EL VALOR\nVUELVA AL MENU PRINCIPAL PARA CALCULAR ALGUNAS DE ESTAS TRES OPCIONES:\n1°AREA.\n2°LONGITUD CUYO RADIO.\n3°LONGITUD CUYO DIAMETRO.");
break;
}
case 2:
{
System.out.println(" AREA DE UN CIRCULO : "+"[ "+circulo.areaCirculo()+" ]");
}
break;
case 3:
{
System.out.println("LONGITUD DE UN CIRCULO CUYO RADIO ES : "+"[ "+circulo.longitudCirculo()+" ]");
}
break;
case 4:
{
System.out.println("LONGITUD DE UN CIRCULO CUYO DIAMETRO ES : "+"[ "+circulo.longitudCirculoDiametro()+" ]");
}
break;
default:
{
System.out.println(" NO EXISTE ESTE VALOR EN EL MENU");
}
break;
}
System.out.println("INGRESAR MENU PRINCIPAL SI ES ---> SI <---- PRECIONE [s O S] SI ES--->NO<--- PRECIONE [n O N]");
entrada.pedirEntrada();
respuesta=entrada.getEntrada();
}while(respuesta.equals("s")||respuesta.equals("S"));
System.out.println("ADIOS AMIGO");
}
}
CIRCULO
import java.lang.Math;
public class Circulo
{
private static final double PI=3.1416;
private double radioODiametro;
public Circulo(double valorRadioODiametro)
{
radioODiametro=valorRadioODiametro;
}
public double getRadio(){return radioODiametro;}
public double areaCirculo()
{
return PI *Math.pow(radioODiametro,2);
}
public double longitudCirculo()
{
return radioODiametro*2*PI;
}
public double longitudCirculoDiametro()
{
return radioODiametro*PI;
}
}
ENTRADADETECLADO
import java.util.Scanner; //Importación de la clase Scanner desde la biblioteca Java
public class EntradaDeTeclado { // Definimos la clase EntradaDeTeclado aprenderaprogramar.com
private String entradaTeclado; //Variable de instancia (campo) del método
//Constructor
public EntradaDeTeclado () {
entradaTeclado=""; } //Cierre del constructor
public void pedirEntrada () { //Método de la clase
Scanner entradaEscaner = new Scanner (System.in);
entradaTeclado = entradaEscaner.nextLine ();
} //Cierre del método pedirEntrada
public String getEntrada () {
return entradaTeclado;
} //Cierre del método getEntrada
} //Cierre de la clase
Una Pregunta Como haría para Hacer una Limpieza de pantalla es decir una ves que retorne al menú la consola se limpie
Se es una manera que es aplicando un for y mandar a imprirmir un espacio en blanco n cantidad de veces sea posible.
pero quiero saber si existe un paquete de la api de java que llegue a realizar esta función
-
Hola momo
Pregunta:
¿Es posible crear un método en la clase Circulo para establecer el valor de numeroPi? ¿Por qué?
Respuesta:
No Es posible ya que vamos a Declarar numeroPi como una constante -- y por lo tanto debe de ir obligatoria mente en cabecera de la clase si hacemos un método para establecer el valor de numeroPi nos daría un error .
Respuesta correcta
Tu ejercicio demuestra imaginación en la presentación. Bien.
-----------------------
Clase TestCirculo
Quiero decirte que en el primer menú, no sabía que había que hacer. He tenido que mirar el código para entender como iba la cosa.
Yo empecé con la opción 2 y todo daba cero.
No estaría de más poner la primera opción algo como:
1 Antes de nada Ingresar valor del radio
Y después escoger cualquiera de las otras opciones
Otra cosa. Cuando entras en el switch en el case 1:
Presentas este mensaje
System.out.println("GRACIAS POR INGRESAR EL VALOR\nVUELVA AL MENU PRINCIPAL PARA CALCULAR ALGUNAS DE ESTAS TRES OPCIONES:\n1°AREA.\n2°LONGITUD CUYO RADIO.\n3°LONGITUD CUYO DIAMETRO.");
cuyos números no coinciden con el menú principal
Deberías cuidar los detalles
Otra manera de hacer esto
Circulo circulo=new Circulo(0.0);
es
Circulo circulo;
declaras sin inicializar, pues ya lo haces dentro del switch con
circulo=new Circulo(radio);
Una última cosa. Escribir todo en mayúsculas, destaca. Si, es como hablar siempre a gritos.
Si quieres que tus menús destaquen, pon adornos como hiciste en los extremos del texto, juega con la indentación del texto (poner espacios para centrar el texto), y lo que se te ocurra.
---------------------
Clase Circulo
Te repito lo que digo a otros compañeros.
Cada atributo de la clase debe tener sus métodos set y get
El atributo 'radioODiametro' tiene un nombre muy particular. Para ti tal vez es explicativo, pero yo lo encuentro un lio.
Tal vez ha sido la mejor manera que encontraste para hablar de radio y diámetro en la clase, pero yo creo que te has liado. Todos sabemos que el radio es la mitad del diámetro y al revés.
Yo habría escogido o radio o diámetro, y si necesito el otro pues multiplico por dos o divido por dos, y ya está
Veo que creas dos métodos para calcular la longitud del círculo según usas el radio o el diámetro. ¿Por que no has hecho lo mismo para el área del círculo?
Espero que mis notas te sirvan para mejorar.
Saludos
-
Hola Amigo Toni Gracias Por tus recomendaciones las tomare en cuenta :)
-
Hola momo
Para limpiar la pantalla en cualquier momento durante la ejecución del programa:
Mostrar un mensaje por pantalla con el carácter de control '\f'
Ejemplo
System.out.println ("\fTexto mostrado despues de limpiar la pantalla");
Saludos