Ajuda com um If Else, no JOptionPane[RESOLVIDO]

4 respostas
maaelphd

Boa Noite Pessoa!

Bem, to começando com java agora praticamente, estou vendo as vídeos aulas do Curso XTI, no youtube, é muito boa as aulas da para entender legal, só que estou com um probleminha num exercício, sei que é pra eu mesmo tentar resolver e fazer, eu fiz o código por conta própria, mas claro que ta dando erro!
é apenas um básico programa de adivinhação, ele sempre irá selecionar aleatoriamente um número, e se você digitar o mesmo número que ele digitou você ganha, caso contrario você perde
acho que tem alguma coisa a ver com a conversão de String para Int, pode ta meio bagunçado o código, mas é que já fiz algumas alterações, olhando nos forums! Segue ai :

import javax.swing.JOptionPane;
import java.util.Random;


	public class JogoDado {

		public static void main(String[] args) {

		String[] faces = {"1", "2", "3", "4", "5", "6"};
			int[] faces2 = Integer.parseInt(faces);
		

			Random d = new Random();

			String face = faces[d.nextInt(faces.length)];
				int faces3 = Integer.parseInt(face);

			System.out.println(face);

				String n = JOptionPane.showInputDialog(null, "Escolha um Numero do Dado de 1 a 6");
					int faces4 = Integer.parseInt(n);
			if (faces4 >= 7) {
				JOptionPane.showMessageDialog(null, "Erro Numero Maior que 6");
			} else if (faces3 == face) {
				JOptionPane.showMessageDialog(null, "Parabens Voce Ganhou, o numero sorteado foi = " + face);		
			} else {
				JOptionPane.showMessageDialog(null, " Desculpe você perdeu, o numero sorteado foi = " + face);
			}

	}
}

bem eu ja consegui fazer ele funcionar até a linha 23, quando eu executava ele me pedia o número, eu digitava e tudo, se fosse maior que 7 ele dava erro, mas não consigo fazer ele funcionar tudo!

Se alguém conseguir me ajudar agradeço! :D

ha o erro é esse:

JogoDado.java:10: error: no suitable method found for parseInt(String[])
			int[] faces2 = Integer.parseInt(faces);
			                      ^
    method Integer.parseInt(String) is not applicable
      (actual argument String[] cannot be converted to String by method invocation conversion)
    method Integer.parseInt(String,int) is not applicable
      (actual and formal argument lists differ in length)
JogoDado.java:24: error: incomparable types: int and String
			} else if (faces3 == face) {
			                  ^
2 errors

4 Respostas

Demys_Cota
String[] faces = {"1", "2", "3", "4", "5", "6"};  
            int[faces.lenght()] faces2 = null;
             for(int  i = 0, i < faces.lenght;i++){
                     faces2[i] = Integer.parseInt(faces[i]);
             }
R

Oi maaelphd,

Pela mensagem que vc postou podemos ver 2 erros. Primeiro vc está tentando converter um array de strings para inteiro. Vc precisaria converter cada item em separado como o Demys mostrou.
Segundo vc está tentando comparar uma string com inteiro na linha 24:

} else if (faces3 == face) {

Eu modifiquei um pouco seu programa, mas este código tem a mesma funcionalidade, apenas que ele utiliza o zero também.

import javax.swing.JOptionPane;
import java.util.Random;

public class JogoDado {

	public static void main(String[] args) {

		Random d = new Random();

		int face = d.nextInt(7);

		System.out.println(face);

		int n = Integer.valueOf(JOptionPane.showInputDialog(null,
				"Escolha um Número do Dado de 0 a 6"));

		if (n >= 7) {
			JOptionPane.showMessageDialog(null, "Erro Número Maior que 6");
		} else if (n == face) {
			JOptionPane.showMessageDialog(null,
					"Parabéns Você Ganhou, o número sorteado foi = " + face);
		} else {
			JOptionPane.showMessageDialog(null,
					" Desculpe você perdeu, o número sorteado foi = " + face);
		}

	}
}

Qualquer dúvida é só postar.

fredericomaia10

É isso aí que os colegas postaram.

Quando vi seu código até pensei: “uai que legal, não sabia que parseInt já convertia um array inteiro de uma vez.” rsrs

R

fredericomaia10:
É isso aí que os colegas postaram.

Quando vi seu código até pensei: “uai que legal, não sabia que parseInt já convertia um array inteiro de uma vez.” rsrs

Pensei a mesma coisa. :lol:

Criado 10 de abril de 2013
Ultima resposta 11 de abr. de 2013
Respostas 4
Participantes 4