Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- NOMBRES:
- Miguel Angel Rivera Reyes 2059876-3743
- Juan Felipe Arango Guzman 2060066-3743
- */
- package taller.pkg1;
- import javax.swing.JOptionPane;
- import java.text.DecimalFormat;
- public class Taller1 {
- String datos[][] = new String[50][6];
- String entrada;
- int Contadorcolumnas;
- int contadorfilas, contador;
- public void menu() {
- boolean bandera = false;
- do{ entrada = JOptionPane.showInputDialog("Ingrese una opcion valida\n\n"
- +"a. Ingresar los datos del pesaje\n"
- + "b. Mostrad la cantidad de viajes realizados en total y peso\n"
- + "c. Mostrar la cantidad a los tres destinos y el peso promedio de los tres destinos\n"
- + "d. Consultar los viajes por fecha y destino\n"
- + "e. Salir.\n");
- char opcion = (char)entrada.codePointAt(0);
- switch(opcion){
- case'a': opcionA(); break;
- case'b': opcionB(); break;
- case'c': opcionC(); break;
- case'd': opcionD(); break;
- case'e': bandera = true; break;
- default: JOptionPane.showMessageDialog(null, "Verifique que la opcion digitada sea valida.", "ERROR", 0);
- }
- }while(bandera != true);
- }
- public void opcionA(){
- boolean bandera2 = false;
- int bandera3 = 0;
- int contadorVerifiacacion =0;
- int verificarInt;
- String placa;
- String entradaLetras = null, entradaNumeros =null;
- do{
- entrada = JOptionPane.showInputDialog("Ingresar los datos del pesaje\n\n" +
- "Placa del vehiculo\n"
- + "Ingrese la placa del vehiculo.\n");
- placa = entrada;
- if(placa.length() < 6 || placa.length() >6){
- JOptionPane.showMessageDialog(null, "Los datos ingresados no corresponden a una placa, tenga en cuenta que su placa esta conformada por 6 digitos, 3(letras) y 3 (numeros) RESPECTIVAMENTE",
- "ERROR", 0);
- }
- else{
- entradaLetras = placa.substring(0, 3);
- entradaNumeros = placa.substring(3, 6);
- System.out.println(entradaLetras);
- System.out.println(entradaNumeros);
- try {
- verificarInt = Integer.parseInt(entradaNumeros);
- bandera3++;
- } catch (Exception e) {
- JOptionPane.showMessageDialog(null, "Verifique que los 3 ultimos digitos de su placa sean NUMEROS");
- }
- for (int x = 0; x < entradaLetras.length(); x++) {
- char c = entradaLetras.charAt(x);
- if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))) {
- JOptionPane.showMessageDialog(null, "Error, verifique que hayas digitado las 3 letras de la placa se su vehiculo.");
- contadorVerifiacacion = 0;
- break;
- }else
- {contadorVerifiacacion++;
- System.out.println(contadorVerifiacacion);
- }
- }
- if(contadorVerifiacacion ==3 && bandera3 ==1){
- bandera2 =true;
- }
- }
- }while(bandera2 !=true);
- boolean banderapeso = false;
- int pesoInt =0;
- String peso;
- do{ entrada = JOptionPane.showInputDialog("Ingresar los datos del pesaje\n\n" +
- "Peso");
- peso = entrada;
- try {
- pesoInt = Integer.parseInt(peso);
- if(pesoInt <= 50)
- banderapeso = true;
- else
- JOptionPane.showMessageDialog(null, "El peso maximo permitido por nuestras carreteras es de un maximo de 50 toneladas, por favor verifique que el peso de su vehiculo este en ese rango", "ERROR",0);
- } catch (Exception e) {
- JOptionPane.showMessageDialog(null, "Ingrese solo numeros, no ingresar una letra ni otro caracter posible", "ERROR", 0);
- }
- }while(banderapeso != true);
- String destino;
- boolean banderaDestino = false;
- do{
- entrada = JOptionPane.showInputDialog("Ingresar los datos del pesaje\n\n" +
- "Destino\n" +
- "1. Buenaventura\n" +
- "2. Bogota\n" +
- "3. Barranquilla\n");
- destino = entrada;
- switch(destino){
- case "1": banderaDestino = true; break;
- case "2": banderaDestino = true; break;
- case "3": banderaDestino = true; break;
- default: JOptionPane.showMessageDialog(null, "Ingrese una opcion valida", "ERROR",0);
- }
- }while(banderaDestino != true);
- boolean banderaMes = false;
- String mes;
- int RangoMes=0, mesint;
- do{
- entrada = JOptionPane.showInputDialog("Ingresar los datos del pesaje\n\n" +
- "Fecha\n"
- + "2. Mes");
- mes = entrada;
- mesint = Integer.parseInt(mes);
- switch(mes){
- case"1": RangoMes = 31; banderaMes = true; break;
- case"2": RangoMes = 28; banderaMes = true; break;
- case"3": RangoMes = 31; banderaMes = true; break;
- case"4": RangoMes = 30; banderaMes = true; break;
- case"5": RangoMes = 31; banderaMes = true; break;
- case"6": RangoMes = 30; banderaMes = true; break;
- case"7": RangoMes = 31; banderaMes = true; break;
- case"8": RangoMes = 31; banderaMes = true; break;
- case"9": RangoMes = 30; banderaMes = true; break;
- case"10":RangoMes = 31; banderaMes = true; break;
- case"11":RangoMes = 30; banderaMes = true; break;
- case"12":RangoMes = 31; banderaMes = true; break;
- default: JOptionPane.showMessageDialog(null,"Ingrese un mes valido, recuerde que son 12 meses y son asignados como 1, 2, 3 ,4...","ERROR",0);
- }
- }while (banderaMes != true);
- boolean banderaDia = false;
- int diaint = 0;
- String dia;
- do{ entrada = JOptionPane.showInputDialog("Ingresar los datos del pesaje\n\n" +
- "Fecha\n"
- + "1. Dia");
- dia = entrada;
- try {
- diaint = Integer.parseInt(dia);
- } catch (Exception e) {
- JOptionPane.showMessageDialog(null, "Ingrese un dia valido, recuerde que los meses tienen 28 o 31 o 30 dias.\n\n" +"NOTA: " +"El mes numero "+ mes +
- " es un mes de " + RangoMes + " dias\n", "ERROR", 0);
- }
- if(diaint <= RangoMes)
- {
- banderaDia = true;
- }
- else{
- JOptionPane.showMessageDialog(null, "Ingrese un dia valido, recuerde que los meses tienen 28 o 31 o 30 dias.\n\n" +"NOTA: " + "El mes numero " + mes +
- " es un mes de " + RangoMes + " dias\n", "ERROR", 0);
- }
- }while(banderaDia != true);
- String año;
- boolean banderaAño = false;
- int añoint =0;
- do{
- entrada = JOptionPane.showInputDialog("Ingresar los datos del pesaje\n\n" +
- "Fecha\n"
- + "3. Año");
- año = entrada;
- try {
- añoint = Integer.parseInt(año);
- } catch (Exception e) {
- JOptionPane.showMessageDialog(null, "Ingrese un dato valido(numeros)", "ERROR", 0);
- }
- if(añoint < 1895)
- JOptionPane.showMessageDialog(null, "Año no valido, digite años siguientes o iguales a 1895, ya que el primer vehiculo de carga fue creado en este año", "ERROR",0);
- else
- banderaAño =true;
- }while(banderaAño != true);
- datos[contadorfilas][Contadorcolumnas] = placa;
- Contadorcolumnas++;
- datos[contadorfilas][Contadorcolumnas] = peso;
- Contadorcolumnas++;
- datos[contadorfilas][Contadorcolumnas] = destino;
- Contadorcolumnas++;
- datos[contadorfilas][Contadorcolumnas] = dia;
- Contadorcolumnas ++;
- datos[contadorfilas][Contadorcolumnas] = mes;
- Contadorcolumnas++;
- datos[contadorfilas][Contadorcolumnas] = año;
- contadorfilas++;
- Contadorcolumnas = 0;
- }
- public void opcionB(){
- contador = 0;
- int peso =0, peso2 =0;
- for (int i = 0; i < datos.length; i++) {
- for (int j = 0; j < datos[0].length; j++) {
- if(j == 0){
- if(datos[i][0] != null)
- contador++;
- else
- break;
- }
- }
- }
- String numeroViajes = Integer.toString(contador);
- for (int i = 0; i < datos.length; i++) {
- for (int j = 0; j < datos[0].length; j++) {
- if(j == 1){
- if(datos[i][1] != null){
- peso = Integer.parseInt(datos[i][1]);
- peso2 = peso2 + peso;
- }else
- break;
- }
- }
- }
- JOptionPane.showMessageDialog(null, "El numero de viajes en total es de:" + contador + "\n" + "El peso total es de: " + peso2, "Resultado",1);
- }
- public void opcionC(){
- // Mostrar la cantidad a los tres destinos y el peso promedio de los tres destinos
- int destino1=0, destino2=0,destino3=0;
- int pasInt;
- int Suma1 =0, suma2 =0, suma3 =0;
- double promedioBuenaventura =0, promedioBogota =0, PromedioBarranquilla=0;
- for (int i = 0; i < datos.length; i++) {
- for (int j = 0; j < datos[0].length; j++) {
- if(j == 2){
- if(datos[i][2] != null){
- switch(datos[i][2]){
- case "1":{ destino1++;
- pasInt = Integer.parseInt(datos[i][1]);
- Suma1 += pasInt;
- }
- break;
- case "2":{ destino2++;
- int pasInt2 = Integer.parseInt(datos[i][1]);
- suma2 += pasInt2;
- }break;
- case "3":{ destino3++;
- int pasInt3 = Integer.parseInt(datos[i][1]);
- suma3 += pasInt3;
- }break;
- }
- }
- else
- break;
- }
- }
- }
- DecimalFormat formatoo = new DecimalFormat("##.##");
- if(destino1 != 0)
- formatoo.format(promedioBuenaventura = Suma1/destino1);
- if(destino2 != 0)
- formatoo.format(promedioBogota = suma2/destino2);
- if(destino3 != 0)
- formatoo.format(PromedioBarranquilla = suma3/destino3);
- JOptionPane.showMessageDialog(null,"La cantidad de viajes de los 3 destinos respectivamente son.\n" + "1. Buenaventura: "
- + destino1 + "\n" + "Peso promedio: "+promedioBuenaventura+"\n"+"2. Bogota: " + destino2 + "\n" +"Peso promedio: "+promedioBogota+"\n"+ "3. Baranquilla: " + destino3 + "\n"
- + "Peso promedio: " + PromedioBarranquilla);
- /*System.out.println(promedioBogota);
- System.out.println(PromedioBarranquilla);
- System.out.println(promedioBuenaventura);
- */
- }
- public void opcionD(){
- //Consultar los viajes por fecha y destino
- int contador2 =0;
- entrada = JOptionPane.showInputDialog("ingrese el destino que quiere filtrar");
- String destino = entrada;
- entrada = JOptionPane.showInputDialog("Ingrese la fecha por la cual desea filtrar\n" + "1. Dia");
- String dia = entrada;
- entrada = JOptionPane.showInputDialog("Ingrese la fecha por la cual desea filtrar\n" + "2. Mes");
- String mes = entrada;
- entrada = JOptionPane.showInputDialog("Ingrese la fecha por la cual desea filtrar\n" + "3. Año");
- String año = entrada;
- String salidaD="";
- String entradaD="";
- String adentroD="";
- String formato = "PLACA=P PESO=PS DESTINO=D DIA=DI MES=M AÑO=A\n";
- String titulos = " P PS D DI M A\n";
- for (int i = 0; i < contadorfilas; i++) {
- adentroD = datos[i][2] + datos[i][3] + datos[i][4] + datos[i][5];
- entradaD = destino + dia + mes + año;
- if(adentroD.equals(entradaD)){
- salidaD = salidaD + datos[i][0] + ", "+ datos[i][1] +", " +datos[i][2] + ", "+datos[i][3] + ", "+datos[i][4] + ", "+ datos[i][5] + "\n";
- System.out.println(salidaD);
- contador2++;
- }
- }
- if(contador2 !=0)
- {
- JOptionPane.showMessageDialog(null,"Los viajes que fueron relizados el dia " + dia + " del mes "+ mes + " del año "+año +" RESPECTIVAMENTE," + " fueron los siguientes:\n"+titulos+ salidaD+formato);
- }
- else
- {
- JOptionPane.showMessageDialog(null, "No se encontro ninguna coincidencia, verifique los datos de entrada ", "ERROR",0);
- }
- }
- public static void main(String[] args) {
- Taller1 busqueda = new Taller1();
- busqueda.menu();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement