Advertisement
EmersonDantas

SisTur

May 23rd, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.97 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Scanner;
  4.  
  5. import exceptions.AtrativoJaExisteException;
  6. import exceptions.AtrativoNaoExisteException;
  7. import exceptions.MunicipioJaExisteException;
  8. import exceptions.MunicipioNaoExisteException;
  9. public class SisTur {
  10.     public static void main(String[] args) {
  11.         Scanner input = new Scanner(System.in);
  12.         AreaDeInteresseTuristico areaDeInteresse = new AreaDeInteresseTuristico();
  13.         double  latitudeAtra, longitudeAtra, latitudeMun, longitudeMun;
  14.         int entrada, populacao;
  15.         String nome, estado, site, comoChegar, infoContato, tipo, nomePesquisaMunicipio, nomeAtrativo;
  16.        
  17.         boolean parar = false;
  18.         while(parar != true){
  19.             entrada = inputInt("\nSistema de turismo\n1 - Cadastrar municipio;\n2 - Cadastrar atrativo tiristico;\n3 - Listar municipios;\n4 - Listar atrativos de determinado municipio\n5 - Sair;", input);
  20.             switch(entrada){
  21.            
  22.             case 1://Cadastrar municipio
  23.                 nome = input("Digite o nome do municipio:", input);
  24.                 populacao = inputInt("Digite a população do municipio "+nome+": ",input);
  25.                 latitudeMun = inputDouble("Digite a latitude do municipio "+nome+": ",input);
  26.                 longitudeMun = inputDouble("Digite a longetude do municipio "+nome+": ",input);
  27.                 estado = input("Qual o estado do municipio "+nome+":",input);
  28.                 site = input("Qual o site do municipio "+nome+":",input);
  29.                
  30.                
  31.                 List <AtrativoTuristico> atrativos = new ArrayList<AtrativoTuristico>();
  32.                 List <MeioDeHospedagem> hospedagens = new ArrayList<MeioDeHospedagem>();
  33.                 Municipio novoMunicipio = new Municipio(nome,populacao,atrativos,latitudeMun,longitudeMun, hospedagens, estado, site);
  34.                
  35.                 try {
  36.                     areaDeInteresse.cadastrarMunicipio(novoMunicipio);
  37.                     System.out.println("Municipio "+nome+" foi cadastrado com sucesso!");
  38.                     System.out.println("ENT");
  39.                 }catch(MunicipioJaExisteException erro){
  40.                     System.out.println(erro.getMessage());
  41.                 }
  42.                                
  43.                 break;
  44.                
  45.             case 2://Cadastrar atrativo
  46.                 AtrativoTuristico atrativo = null;
  47.                 nome = input("Qual o nome do municipio que você deseja cadastrar o atrativo: ",input);
  48.                 estado = input("Qual o nome do estado que você deseja cadastrar o atrativo: ",input);
  49.  
  50.                 nomeAtrativo = input("Digite o nome do atrativo do municipio "+nome+":", input);
  51.                 latitudeAtra = inputDouble("Digite a latitude do atrativo "+nomeAtrativo+": ",input);
  52.                 longitudeAtra = inputDouble("Digite a longetude do atrativo "+nomeAtrativo+": ",input);
  53.                 comoChegar = input("Como chegar no atrativo "+nomeAtrativo+": ",input);
  54.                 site = input("Qual o site do atrativo "+nomeAtrativo+": ",input);
  55.                 infoContato = input("Qual o contato do atrativo "+nomeAtrativo+": ",input);
  56.                
  57.                 tipo = input("Qual o teipo do atrativo turstico:\nNatural;\nArtificial\nEvento.",input);
  58.                
  59.                 if (tipo.equals("Natural")) {
  60.                     String tipoAtraNat = input("Qual o tipo de atrativo natural: Praia ou Generico", input);
  61.                    
  62.                     switch(tipoAtraNat) {
  63.                         case("Praia"):
  64.                             String tipoDeOrla = input("Qual o tipo de orla: ", input);
  65.                             String periTub = input("Há perigo de tubarão: S ou N",input);
  66.                             String propriBanho = input("É própria para banho: S ou N",input);
  67.                            
  68.                             boolean periTubD = false; boolean propriBanhoD = false;
  69.                            
  70.                             if(periTub.equals("S")){
  71.                                 periTubD = true;
  72.                             }
  73.                            
  74.                             if(propriBanho.equals("S")) {
  75.                                 propriBanhoD = true;
  76.                             }
  77.                            
  78.                             atrativo = new Praia(nomeAtrativo,latitudeAtra,longitudeAtra, comoChegar,site,infoContato,periTubD, propriBanhoD, tipoDeOrla);
  79.                                
  80.                             break;
  81.                         case("Generico"):
  82.                             atrativo = new AtrativoNatural(nomeAtrativo,latitudeAtra,longitudeAtra, comoChegar,site,infoContato);
  83.                            
  84.                             break;
  85.                        
  86.                     }
  87.                    
  88.                 }else if(tipo.equals("Artificial")) {
  89.                     String fundacao = input("Qual a data de fundação:",input);
  90.                     String fundador = input("Quem foi o fundador:",input);
  91.                     atrativo = new AtrativoArtificial(nomeAtrativo,latitudeAtra,longitudeAtra, comoChegar,site,infoContato,fundacao, fundador);
  92.                    
  93.                    
  94.                 }else {//Evento
  95.                     String dataInicio = input("Qual a data de inicio:",input);
  96.                     String dataFim = input("Qual a data de fim:",input);
  97.                     String tipoEvento = input("Qual o tipo do evento: Festa ou Feira gastronômica",input);
  98.                     String logradouro = input("Qual o logradouro:",input);
  99.                     String numero = input("Qual o número:",input);
  100.                     String bairro = input("Qual o bairro:",input);
  101.                     Endereco novoEndereco = new Endereco(logradouro,numero,bairro);
  102.                     atrativo = new EventoProgramado(nomeAtrativo,latitudeAtra,longitudeAtra, comoChegar,site,infoContato, dataInicio, dataFim, tipoEvento, novoEndereco);
  103.  
  104.                 }
  105.                 if (atrativo != null) {
  106.                     try {
  107.                         areaDeInteresse.cadastrarAtrativoTuristico(atrativo, nome, estado);
  108.                         System.out.println("Atrativo "+nomeAtrativo+" cadastrado com sucesso!");
  109.                     }catch(AtrativoJaExisteException erro) {
  110.                         System.out.println(erro.getMessage());
  111.                     }catch(MunicipioNaoExisteException erro) {
  112.                         System.out.println(erro.getMessage());
  113.                     }
  114.                 }else {
  115.                     System.out.println("Erro:atrativo não criado!");
  116.                 }
  117.                 break;
  118.                
  119.             case 3://Mostra municipios cadastrados
  120.                 if(areaDeInteresse.getMunicipios().size() > 0) {
  121.                     for(Municipio m: areaDeInteresse.getMunicipios()) {
  122.                         System.out.println(m.toString());
  123.                     }
  124.                 }else {
  125.                     System.out.println("\nSem municipios cadastrados.");
  126.                 }
  127.                
  128.                 break;
  129.                
  130.             case 4://Mostra atrativos por municipio
  131.                 nome = input("Qual o nome do municipio que você deseja pesquisar:",input);
  132.                 estado = input("Qual o nome do estado que você deseja pesquisar:",input);
  133.                 try {
  134.                     List<AtrativoTuristico> atrativosDoMun = areaDeInteresse.getAtrativosTuristicosDoMunicipio(nome, estado);
  135.                     if (atrativosDoMun.size() > 0) {
  136.                         for(AtrativoTuristico at:atrativosDoMun) {
  137.                             System.out.println("\n"+at.getDescricao());
  138.                         }
  139.                     }else {
  140.                         System.out.println("\nO municipio "+nome+" não possui atrativos turisticos.");
  141.                     }
  142.                    
  143.                 }catch(MunicipioNaoExisteException erro) {
  144.                     System.out.println(erro.getMessage());
  145.                 }
  146.  
  147.                 break;
  148.            
  149.             case 5:
  150.                 System.out.println("Sistema encerrado");
  151.                 parar = true;
  152.                 break;
  153.                
  154.             }
  155.            
  156.         }
  157.  
  158.     }
  159.    
  160.     public static int inputInt(String mensagem, Scanner input) {
  161.         System.out.println(mensagem);
  162.         return Integer.parseInt(input.nextLine());
  163.     }
  164.    
  165.     public static double inputDouble(String mensagem, Scanner input) {
  166.         System.out.println(mensagem);
  167.         return Integer.parseInt(input.nextLine());
  168.     }
  169.    
  170.     public static String input(String mensagem, Scanner input) {
  171.         System.out.println(mensagem);
  172.         return input.nextLine();
  173.     }
  174.    
  175.     public static void meioDaTela(String frase) {
  176.         String [] frases = frase.split("\n");
  177.         for(int k = 0; k < frases.length;k++) {
  178.             for(int i = 0; i < 100 - frase.length(); i++) {
  179.                 System.out.print(" ");
  180.             }
  181.             System.out.println(frase);
  182.         }
  183.     }
  184. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement