Proyecto Fundamentos de Programacion
Proyecto Fundamentos de Programacion
import java.util.InputMismatchException;
import java.util.Scanner;
/**
* Desarrollamos un software de una maquina expendedora
*
* @author gerardodmz
*/
public class MaquinaExpendedora {
/**
* Muestra el menu, solicita la opcion y las ejecuta
*/
public static void menu() {
//Declaramos un array con las filas y las columnas (4 por el nombre) y (4 por el
precio)
int cantidad[][] = new int[4][4];
try {
break;
case 2:
//Pido la posicion
posicion = pedirCadena("INTRODUCE LA POSICION DESEADA: ");
//Valido la posicion
if (validarPos(productos, posicion)) {
//Reduzco la cantidad en 1
reducirPosicion(cantidad, fila, columna, 1);
//Aumentamos la cantidad
ventasTotales += precio[fila][columna];
} else {
System.out.println("PRODUCTO AGOTADO. ESPERANDO AL
TECNICO A QUE RELLENE LA CANTIDAD NECESARIA.");
}
} else {
System.out.println("POSICION INCORRECTA,VUELVA A
INTENTARLO.");
}
break;
case 3:
//Solicitamos la contraseña
contraseña = pedirCadena("OPCION TECNICA, INTRODUZCA LA CLAVE
DE ACCESO AL SISTEMA: ");
//Pido la posicion
posicion = pedirCadena("INTRODUZCA LA POSICION DEL
PRODUCTO: ");
} else {
System.out.println("LA POSICION NO ES VALIDA");
}
} else {
System.out.println("CONTRASEÑA INCORRECTA");
}
break;
case 4:
//Solicitamos la contraseña
contraseña = pedirCadena("OPCION TECNICA, INTRODUZCA LA CLAVE
DE ACCESO AL SISTEMA: ");
}
//Mostramos el total de las ventas producidas
System.out.println("TOTAL VENTAS: " + ventasTotales + " Dollars.");
salir = true;
break;
default:
System.out.println("LAS OPCIONES SON ENTRE 1 Y 4.");
}
}
//Salimos del menu y del programa
System.out.println("SALIENDO DEL SISTEMA. APAGANDO MAQUINA...");
/**
* Rellenamos el array con un numero
*
* @param array
* @parm numero
*/
public static void rellenarArray(int[][] array, int numero) {
}
/**
* Pedimos una cadena
*
* @param mensaje
* @return
*/
public static String pedirCadena(String mensaje) {
System.out.println(mensaje);
String cadena = entrada.next();
return cadena;
/**
* Pedimos un numero entero
*
* @param mensaje
* @return
*/
public static int pedirInteger(String mensaje) {
System.out.println(mensaje);
int numero = entrada.nextInt();
return numero;
}
/**
* Valida si una posicion es correcta
*
* @param matriz
* @param pos
* @return
*/
public static boolean validarPos(String[][] matriz, String pos) {
if (pos.length() != 2) {
return false;
}
return (fila >= 0 && fila < matriz.length) && (columna >= 0 && columna <
matriz[0].length);
/**
* Indicamos si un String es un numero
*
* @param numero
* @return
*/
public static boolean esNumero(String numero) {
try {
Integer.parseInt(numero);
return true;
} catch (NumberFormatException e) {
return false;
}
/**
*
* Extraemos el numero -1 si ha habido un error
*
* @param numero
* @param pos
* @return
*/
public static int extraerNumero(String numero, int pos) {
int num = -1;
if (esNumero(numero)) {
num = Integer.parseInt(numero.substring(pos, pos + 1));
}
return num;
}
/**
*
* Rendimos la cantidad de una posicion en concreto
*
* @param array
* @param fila
* @param columna
* @param cantidad
*/
public static void reducirPosicion(int[][] array, int fila, int columna, int cantidad) {
array[fila][columna] -= cantidad;
}
/**
*
*
* Indicamos si en una posicion hay un valor mayor que 0
*
* @param array
* @param fila
* @param columna
* @return
*/
public static boolean valorPosicion(int[][] array, int fila, int columna) {
return array[fila][columna] > 0;
}
/**
*
*
* Metodo para mostrar los productos y los precios
*
* @param nombres
* @param precios
*/
public static void mostrarProductos(String[][] nombres, double[][] precios) {
/**
* Indicamos si dos cadenas son iguales
*
* @param cadena1
* @param cadena2
* @return
*/
public static boolean cadenaIguales(String cadena1, String cadena2) {
if (cadena1.equals(cadena2)) {
return true;
}else{
return false;
}
}
/**
*
* Aumentamos la cantidad de una posicion
*
* @param array
* @param fila
* @param columna
* @param cantidad
*/
public static void aumentarPosicion(int[][] array, int fila, int columna, int cantidad) {
array[fila][columna] += cantidad;
}
}
//Final de la clase