Compare commits
4
Commits
bf91a20bee
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8f7e450a26 | ||
|
|
dc0a3aacb3 | ||
|
|
81eac7a894 | ||
|
|
e190552230 |
No files matched your search
@@ -0,0 +1,30 @@
|
|||||||
|
public class Constructores1 {
|
||||||
|
public static class Semaforo {
|
||||||
|
public static enum Estados{
|
||||||
|
Rojo,
|
||||||
|
Ambar,
|
||||||
|
Verde,
|
||||||
|
}
|
||||||
|
private Estados estado;
|
||||||
|
Semaforo(Estados estado){
|
||||||
|
this.estado = estado;
|
||||||
|
}
|
||||||
|
public void imprimirEstado(){
|
||||||
|
System.out.printf("El semaforo está en %s\n", this.getEstado());
|
||||||
|
}
|
||||||
|
public Estados getEstado(){
|
||||||
|
return this.estado;
|
||||||
|
}
|
||||||
|
public void setEstado(Estados estado){
|
||||||
|
this.estado = estado;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Semaforo semaforo = new Semaforo(Semaforo.Estados.Rojo);
|
||||||
|
semaforo.imprimirEstado();
|
||||||
|
semaforo.setEstado(Semaforo.Estados.Ambar);
|
||||||
|
semaforo.imprimirEstado();
|
||||||
|
semaforo.setEstado(Semaforo.Estados.Verde);
|
||||||
|
semaforo.imprimirEstado();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
public class ParqueAtracciones {
|
||||||
|
|
||||||
|
private static int totalEntradas = 0;
|
||||||
|
private static int totalAdultos = 0;
|
||||||
|
private static int totalNinos = 0;
|
||||||
|
private static int recaudacion = 0;
|
||||||
|
private static int totalDescuentos = 0;
|
||||||
|
|
||||||
|
private static Scanner sc = new Scanner(System.in);
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
boolean salir = false;
|
||||||
|
while (!salir) {
|
||||||
|
switch (menuPrincipal()) {
|
||||||
|
case vender:
|
||||||
|
break;
|
||||||
|
case recaudacion:
|
||||||
|
break;
|
||||||
|
case estadisticas:
|
||||||
|
break;
|
||||||
|
case resumen:
|
||||||
|
break;
|
||||||
|
case salir:
|
||||||
|
salir = true;
|
||||||
|
break;
|
||||||
|
case invalida:
|
||||||
|
System.out.println("Opción inválida, intentalo de nuevo");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static enum OpcionesMenu {
|
||||||
|
vender,
|
||||||
|
recaudacion,
|
||||||
|
estadisticas,
|
||||||
|
resumen,
|
||||||
|
salir,
|
||||||
|
invalida,
|
||||||
|
}
|
||||||
|
|
||||||
|
private static OpcionesMenu menuPrincipal() {
|
||||||
|
System.out.print(
|
||||||
|
"========== PARQUE DE ATRACCIONES ==========\n" +
|
||||||
|
"1. Vender entrada\n" +
|
||||||
|
"2. Consultar recaudación\n" +
|
||||||
|
"3. Consultar estadísticas\n" +
|
||||||
|
"4. Mostrar resumen del día\n" +
|
||||||
|
"5. Salir\n" +
|
||||||
|
"Elige una opción: "
|
||||||
|
);
|
||||||
|
int opt = leerEnteroPositivo();
|
||||||
|
return switch (opt) {
|
||||||
|
case 1 -> OpcionesMenu.vender;
|
||||||
|
case 2 -> OpcionesMenu.recaudacion;
|
||||||
|
case 3 -> OpcionesMenu.estadisticas;
|
||||||
|
case 4 -> OpcionesMenu.resumen;
|
||||||
|
case 5 -> OpcionesMenu.salir;
|
||||||
|
default -> OpcionesMenu.invalida;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int leerEnteroPositivo() {
|
||||||
|
int resultado = 0;
|
||||||
|
|
||||||
|
do {
|
||||||
|
try {
|
||||||
|
resultado = sc.nextInt();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.printf(
|
||||||
|
"Valor incorrecto, debe ser un número natural (%s)\n",
|
||||||
|
e
|
||||||
|
);
|
||||||
|
sc.next();
|
||||||
|
}
|
||||||
|
if (resultado < 0) System.out.println(
|
||||||
|
"Debe ser un numero positivo"
|
||||||
|
);
|
||||||
|
} while (resultado < 0);
|
||||||
|
|
||||||
|
return resultado;
|
||||||
|
}
|
||||||
|
}
|
||||||
+34
-35
@@ -9,29 +9,31 @@ public class RepasoMetodos {
|
|||||||
int opt = mostrarMenu();
|
int opt = mostrarMenu();
|
||||||
int figura = seleccionarFigura();
|
int figura = seleccionarFigura();
|
||||||
double resultado = -1.0;
|
double resultado = -1.0;
|
||||||
int[] lados;
|
|
||||||
switch (figura) {
|
switch (figura) {
|
||||||
case 1: // Cuadrado
|
case 1: // Cuadrado
|
||||||
System.out.print("Longitud del lado: ");
|
System.out.print("Longitud del lado: ");
|
||||||
int lado = leerEnteroPositivo();
|
int lado = leerEnteroPositivo();
|
||||||
lados = new int[4];
|
resultado =
|
||||||
for(int i = 0; i < 4; i++){
|
opt == 1 ? areaCuadrado(lado) : perimetroCuadrado(lado);
|
||||||
lados[i] = lado;
|
|
||||||
}
|
|
||||||
resultado = (opt == 1) ? areaCuadrado(lado) : perimetroPoligono(lados);
|
|
||||||
break;
|
break;
|
||||||
case 2: // Triangulo
|
case 2: // Triangulo
|
||||||
lados = new int[3];
|
int l1, l2, l3;
|
||||||
for(int i = 0; i < 3; i++){
|
System.out.printf("Longitud del lado 1: ");
|
||||||
System.out.printf("Longitud del lado %d: ", i+1);
|
l1 = leerEnteroPositivo();
|
||||||
lados[i] = leerEnteroPositivo();
|
System.out.printf("Longitud del lado 2: ");
|
||||||
}
|
l2 = leerEnteroPositivo();
|
||||||
resultado = (opt == 1) ? areaTriangulo(lados) : perimetroPoligono(lados);
|
System.out.printf("Longitud del lado 3: ");
|
||||||
|
l3 = leerEnteroPositivo();
|
||||||
|
resultado =
|
||||||
|
opt == 1
|
||||||
|
? areaTriangulo(l1, l2, l3)
|
||||||
|
: perimetroTriangulo(l1, l2, l3);
|
||||||
break;
|
break;
|
||||||
case 3: // Circulo
|
case 3: // Circulo
|
||||||
System.out.print("Radio del círculo: ");
|
System.out.print("Radio del círculo: ");
|
||||||
int radio = leerEnteroPositivo();
|
int radio = leerEnteroPositivo();
|
||||||
resultado = (opt == 1) ? areaCirculo(radio) : perimetroCirculo(radio);
|
resultado =
|
||||||
|
opt == 1 ? areaCirculo(radio) : perimetroCirculo(radio);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -49,11 +51,14 @@ public class RepasoMetodos {
|
|||||||
return 2 * Math.PI * radio;
|
return 2 * Math.PI * radio;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Perímetro de cualquier polígono
|
// Perímetro de triangulo
|
||||||
private static double perimetroPoligono(int[] lados) {
|
private static double perimetroTriangulo(double l1, double l2, double l3) {
|
||||||
double resultado = 0.0;
|
return l1 + l2 + l3;
|
||||||
for(int l : lados) resultado += l;
|
}
|
||||||
return resultado;
|
|
||||||
|
// Perímetro de cuadrado
|
||||||
|
private static double perimetroCuadrado(double lado) {
|
||||||
|
return lado * 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Area cuadrado
|
// Area cuadrado
|
||||||
@@ -62,46 +67,40 @@ public class RepasoMetodos {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Area del triangulo (formula de Herón)
|
// Area del triangulo (formula de Herón)
|
||||||
private static double areaTriangulo(int[] lados){
|
private static double areaTriangulo(double l1, double l2, double l3) {
|
||||||
if(lados.length != 3) {
|
double semiperimetro = perimetroTriangulo(l1, l2, l3) / 2.0;
|
||||||
System.out.println("El triangulo tiene que tener 3 lados");
|
|
||||||
return -1.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
double semiperimetro = perimetroPoligono(lados) / 2.0;
|
|
||||||
double resultado = semiperimetro;
|
double resultado = semiperimetro;
|
||||||
|
|
||||||
for(int i = 0; i < 3; i++){
|
resultado *= semiperimetro - l1;
|
||||||
resultado *= semiperimetro - lados[i];
|
resultado *= semiperimetro - l2;
|
||||||
}
|
resultado *= semiperimetro - l3;
|
||||||
|
|
||||||
resultado = Math.sqrt(resultado);
|
resultado = Math.sqrt(resultado);
|
||||||
|
|
||||||
return resultado;
|
return resultado;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private static int seleccionarFigura() {
|
private static int seleccionarFigura() {
|
||||||
System.out.println("Selecciona una figura:\n"+
|
System.out.println(
|
||||||
|
"Selecciona una figura:\n" +
|
||||||
"1. Cuadrado\n" +
|
"1. Cuadrado\n" +
|
||||||
"2. Triángulo\n" +
|
"2. Triángulo\n" +
|
||||||
"3. Círculo");
|
"3. Círculo"
|
||||||
|
);
|
||||||
int resultado = -1;
|
int resultado = -1;
|
||||||
boolean parar = false;
|
boolean parar = false;
|
||||||
while (!parar) {
|
while (!parar) {
|
||||||
System.out.print("Elige una opción: ");
|
System.out.print("Elige una opción: ");
|
||||||
resultado = leerEnteroPositivo();
|
resultado = leerEnteroPositivo();
|
||||||
if (resultado <= 3) parar = true;
|
if (resultado <= 3) parar = true;
|
||||||
else System.out.printf("%d no es una figura valida", resultado);
|
else System.out.printf("%d no es una figura valida\n", resultado);
|
||||||
}
|
}
|
||||||
return resultado;
|
return resultado;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int mostrarMenu() {
|
private static int mostrarMenu() {
|
||||||
System.out.print(
|
System.out.print(
|
||||||
"¿Qué desea calcular?\n" +
|
"¿Qué desea calcular?\n" + "1. Área\n" + "2. Perímetro\n"
|
||||||
"1. Área\n" +
|
|
||||||
"2. Perímetro\n"
|
|
||||||
);
|
);
|
||||||
boolean salir = false;
|
boolean salir = false;
|
||||||
int resultado = -1;
|
int resultado = -1;
|
||||||
|
|||||||
Reference in new issue
Block a user