Duvida em jogo da forca

7 respostas
L

Olá pessoal, é uma duvida simples, mas ta me dando trabalho.
Olhem esse código

import java.util.Scanner;
import javax.swing.*;

public class JForca {

  Scanner s = new Scanner(System.in);

  public static void main(String args[]) {

  Jogo j = new Jogo();

  System.out.println("***Jogo da Forca***");

  String[] palavra = {"c", "h", "a", "v", "e"};
  
  String[] vetor2 = {"_ ", "_ ", "_ ", "_ ", "_ "};

  JOptionPane.showMessageDialog(null, "Dica: Se usa para abrir a porta");

  String a = JOptionPane.showInputDialog("Digite uma letra");

   String x = a; 

  switch(x) {
   case "a": 
     vetor2[2] = "a ";
    break;
 
   case "c":
     vetor2[0] = "c ";
    break;
 
   case "h":
     vetor2[1] = "h ";
    break;

   case "v":
     vetor2[3] = "v ";
    break;
    
   case "e": 
     vetor2[4] = "e ";
    break;    

  }  

 j.imprimir(vetor2);

 boolean terminar = false;

do { String b = JOptionPane.showInputDialog("Digite outra letra"); 

  String y = b; 

  switch(y) {
   case "a": 
     vetor2[2] = "a ";
    break;
 
   case "c":
     vetor2[0] = "c ";
    break;
 
   case "h":
     vetor2[1] = "h ";
    break;

   case "v":
     vetor2[3] = "v ";
    break;
    
   case "e": 
     vetor2[4] = "e ";
    break;    

  }  
  
  j.imprimir(vetor2);

    } while (!terminar);
  }
}



class Jogo { 

 void imprimir(String[] vetor2) { 

 for(int i=0; i<vetor2.length; i++) {
  
  System.out.print(vetor2[i]);
 
    }
  }
}

Compila normal, mas na hora da execução é que há um probleminha.
A linha 92 é exibida normalmente, mas quando o do/while repete pela segunda vez a linha aparece do lado da primeira
e não em baixo.

c h _ _ _ c h _ v _ e c h a v e

Ja tentei colocar println mas imprime assim

_
_
a
_
_

então também não é uma boa opção…
Desde já, obrigado. :smiley:

7 Respostas

G

Ola amigo seu código não vai copilar, porque você esta colocando uma Variável que Referencia String no Switch. E Switch não aceita String,
apenas: char, byte, short, int, Character, Byte, Short, Integer, ou enumeração.

L

ok, vou arrumar.
Você pode responder minha primeira pergunta? :slight_smile:

Polverini

Grohl:
Ola amigo seu código não vai copilar, porque você esta colocando uma Variável que Referencia String no Switch. E Switch não aceita String,
apenas: char, byte, short, int, Character, Byte, Short, Integer, ou enumeração.

Opa JDk 7 aceita sim.

Pula linha depois do FOR, ou seja:

System.out.println("");
L

Exatamente, compilou normal.

G

Me desculpa esqueci que agora tem JDK 7 , eu estou estudando para a certificação JDK 6 por isso que não lembrei do JDK 7

L

Blz, valeu!! :smiley:

mi.rodrigues

Booora! Ei po, na próxima vez é melhor tu indenta teu código, fica melhor pra a galera te ajudar! Coloca o tópico como [RESOLVIDO], se a sua dúvida já tiver sido esclarecida! Abraços! :slight_smile:

Criado 25 de março de 2013
Ultima resposta 25 de mar. de 2013
Respostas 7
Participantes 4