Solução: Problema do jogo do milhão (Versão para Java)
From AdonaiMedrado.Pro.Br
Revision as of 18:56, 18 December 2010 by Adonaimedrado (Talk | contribs) (Created page with '== Método 1 == <code lang=java> import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { String[] perguntas = ne…')
Método 1
import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { String[] perguntas = new String[] { "A cor do cachorro branco de Pedro era branca.", "A Microsoft é a empresa que desenvolve o sistema operacional Windows.", "Uma janela não é uma caneta.", "É possível digitar em um teclado.", "Mouse em inglês pode ser traduzido como castelo.", "Na estória dos Sete Anões havia 7 anões.", "Em decimal, 2+2=5.", "A palavra \"casa\" tem 4 letras.", "A palavra \"frutas\" está no plural.", "Internet Explorer, Firefox e Opera são nomes de peças (hardware) do computador."}; String[] gabarito = new String[] { "C", "C", "C", "C", "E", "C", "E", "C", "C", "E"}; Scanner leitor = new Scanner(System.in); String resposta; int pontuacao = 0; for(int i = 0; i< perguntas.length; i++) { System.out.println(perguntas[i]); resposta = leitor.nextLine(); if (resposta.equals(gabarito[i])) { if (pontuacao == 0) pontuacao = 100; else if (pontuacao == 500) pontuacao = 1000; else pontuacao+=50; } else if (resposta.equals("P")) break; else if (resposta.equals("C") || resposta.equals("E")) { pontuacao = 0; break; } else throw new Exception ("Opção inválida"); } if (pontuacao == 0) System.out.println("Você não pontuou"); else System.out.printf("Você ganhou %d pontos.\n",pontuacao); } }
Método 2
Classe Pergunta
public class Pergunta { private String gabarito; private String pergunta; public String getGabarito() { return gabarito; } public void setGabarito(String gabarito) { this.gabarito = gabarito; } public String getPergunta() { return pergunta; } public void setPergunta(String pergunta) { this.pergunta = pergunta; } public Pergunta(String vpergunta, String vgabarito) { pergunta = vpergunta; gabarito = vgabarito; } }
Classe Main
import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { ArrayList<Pergunta> al = new ArrayList<Pergunta>(); al.add(new Pergunta("A cor do cachorro branco de Pedro era branca.","C")); al.add(new Pergunta("A Microsoft é a empresa que desenvolve o sistema operacional Windows.","C")); al.add(new Pergunta("Uma janela não é uma caneta.","C")); al.add(new Pergunta("É possível digitar em um teclado.","C")); al.add(new Pergunta("Mouse em inglês pode ser traduzido como castelo.","E")); al.add(new Pergunta("Na estória dos Sete Anões havia 7 anões.","C")); al.add(new Pergunta("Em decimal, 2+2=5.","E")); al.add(new Pergunta("A palavra \"casa\" tem 4 letras.","C")); al.add(new Pergunta("A palavra \"frutas\" está no plural.","C")); al.add(new Pergunta("Internet Explorer, Firefox e Opera são nomes de peças (hardware) do computador.","E")); Scanner leitor = new Scanner(System.in); String resposta; int pontuacao = 0; for(Pergunta p: al) { System.out.println(p.getPergunta()); resposta = leitor.nextLine(); if (resposta.equals(p.getGabarito())) { if (pontuacao == 0) pontuacao = 100; else if (pontuacao == 500) pontuacao = 1000; else pontuacao+=50; } else if (resposta.equals("P")) break; else if (resposta.equals("C") || resposta.equals("E")) { pontuacao = 0; break; } else throw new Exception ("Opção inválida"); } if (pontuacao == 0) System.out.println("Você não pontuou"); else System.out.printf("Você ganhou %d pontos.\n",pontuacao); } }