Advertisement
Guest User

Exercicio java

a guest
Sep 24th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.93 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package mypackage;
  7.  
  8. import java.util.ArrayList;
  9. import java.util.Arrays;
  10. import java.util.Scanner;
  11.  
  12. /**
  13.  *
  14.  * @author Guilherme
  15.  */
  16. public class WordsGame {
  17.     public static void main(String args[]){
  18.        
  19.         //array de palavras
  20.         String palavrasVector[] = new String[] {"abstract",
  21.             "continue",
  22.             "for",
  23.             "new",
  24.             "switch",
  25.             "assert",
  26.             "default",
  27.             "goto",
  28.             "package",
  29.             "synchronized",
  30.             "boolean",
  31.             "do",
  32.             "if",
  33.             "private",
  34.             "this",
  35.             "break",
  36.             "double",
  37.             "implements",
  38.             "protected",
  39.             "throw",
  40.             "byte",
  41.             "else",
  42.             "import",
  43.             "public",
  44.             "throws",
  45.             "case",
  46.             "enum",
  47.             "instanceof",
  48.             "return",
  49.             "transient",
  50.             "catch",
  51.             "extends",
  52.             "int",
  53.             "short",
  54.             "try",
  55.             "char",
  56.             "final",
  57.             "interface",
  58.             "static",
  59.             "void",
  60.             "class",
  61.             "finally",
  62.             "long",
  63.             "strictfp",
  64.             "volatile",
  65.             "const",
  66.             "float",
  67.             "native",
  68.             "super",
  69.             "while"};
  70.        
  71.         ArrayList<String> lista = new ArrayList();
  72.        
  73.         lista.addAll(Arrays.asList(palavrasVector));
  74.        
  75.         //instancia a variável que lê os dados digitados
  76.         Scanner sc;
  77.         sc = new Scanner(System.in);
  78.        
  79.         //variáveis que armazenarão os acertos e erros
  80.         int acertos = 0, erros = 0;
  81.        
  82.         //flag para verificação de desistência
  83.         boolean desisto = false;
  84.        
  85.         //solicita o nome do jogador
  86.         System.out.println("Digite seu nome:\n\n");
  87.        
  88.         //armazena o nome do jogador
  89.         String nome = sc.next();
  90.        
  91.         //Variável que representa a palavra digitada para verificação
  92.         String palavra;
  93.        
  94.         System.out.println("Você deve acertar as 50 palavras em 1 minuto e meio! para começar digite 1\n Durante o jogo você pode sair digitando fim.");
  95.        
  96.         //recebe o valor digitado para verificar o inicio do jogo
  97.         String iniciar = sc.next();
  98.        
  99.         //verifica o valor digitado
  100.         if(iniciar.equals("1")){
  101.             //armazena a hora de início
  102.             long inicio = System.currentTimeMillis();
  103.             System.out.println(System.currentTimeMillis());
  104.            
  105.             //enquanto a diferença entre o tempo atual e o tempo em que iniciou seja menor que 300.000ms ou 5 minutos
  106.             //e a quantidade de acertos for menor 50
  107.             //e o jogador não desistir (flag desisto)
  108.             while(((System.currentTimeMillis() - inicio) < 300000) && acertos < 50 && !desisto ){
  109.                
  110.                 //solicita ao jogador que digite uma palavra
  111.                 System.out.println("Digite uma palavra:\n");
  112.                
  113.                 //captura a palavra digitada
  114.                 palavra = sc.next();
  115.                
  116.                 //caso o jogador tenha desistido
  117.                 if(palavra.equals("fim")){
  118.                     desisto = true;
  119.                 }
  120.                
  121.                 //caso o jogador não tenha desistido
  122.                 else{
  123.                     //iteração do busca
  124.                     int i = 0;
  125.  
  126.                     //variável flag para verificação do caso de encontrar a palavra na lista
  127.                     boolean achou = false;
  128.  
  129.                     //percorre o array de palavras para verificar se a palavra digitada esta na lista de palavras reservadas
  130.                     //caso esteja interrompe a varredura e remove da lista para que o usuário não digite 50x o mesmo acerto
  131.                     while(i < lista.size() && !achou) {
  132.  
  133.                         //caso a palavra esteja na lista
  134.                         if(palavra.equals(lista.get(i))){
  135.                             //incrementa a quantidade de acertos
  136.                             acertos++;
  137.                            
  138.                             //remove o item da lista para evitar que o usuário digite varias vezes o mesmo acerto
  139.                             lista.remove(i);
  140.                            
  141.                             //atualiza a flag de verificação
  142.                             achou = true;
  143.                         }
  144.  
  145.                         i++;
  146.                     }
  147.                    
  148.                     //caso tenha encontrado a palavra digitada na lista
  149.                     if(achou){
  150.                         System.out.println("Palavra certa!!, você já acertou " + acertos + " vezes!\n");
  151.                     }
  152.                    
  153.                     //senão
  154.                     else{
  155.                         //incrementa os erros
  156.                         erros++;
  157.                         System.out.println("Palavra errada!!, você já errou " + erros + " vezes! \n");
  158.                     }
  159.                    
  160.                 }
  161.                
  162.             }
  163.            
  164.             //verifica se o objetivo foi cumprido
  165.             if(acertos == 50){
  166.                 System.out.println("Parabéns, você conseguiu encontrar todas as palavras antes do tempo esgotar");
  167.             }
  168.            
  169.             else{
  170.                 System.out.println("Que pena, você não conseguiu encontrar todas as palavras a tempo!\n");
  171.                 System.out.println("Você teve "+ acertos +" acertos e " + erros + " erros!\n tente novamente!");
  172.             }
  173.         }
  174.        
  175.        
  176.     }
  177. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement