Duvida switch [RESOLVIDO]

6 respostas
pedroroxd
Pessoal... Tava vendo um programa antigo meu aqui, de calcular o peso ideal...
op = JOptionPane.showInputDialog("Digite H para homem e M para mulher");
        opChar = op.toCharArray();
        switch(opChar[0]){
            case 'H':
                peso=  (int) ((72.7 * halt) - 58);
               break;
            case 'M':
                peso= (int) ((62.1 * halt) - 44.7);
                break;
            default:
                System.out.print("Invalido.");
        }
Bom... como voces viram, ali eu passei o op, para um Array... Mas caso eu nao fosse usar o JOptionPane:
System.out.println("Digite H para homem e M para mulher ");
        op =  meusca.next();
        
      switch(op){
Ele nao dexa eu dar switch no op... diz que tem que ser inteiro... Como que eu faria?

6 Respostas

Giulliano

Use um IF

Marlon_Meneses

já que são somente duas opções então faça usando if!
se digitar M então mulher senão com certeza é homem
mas isso levando em conta que somente é possível digitar M ou F

Hellmanss

Daria para passar o valor para um int, pois switch não aceita string.

import javax.swing.JOptionPane;

public class Teste {
	public static void main(String[] args) {
		String input = JOptionPane.showInputDialog("");

		Integer numero = new Integer(input);

		switch (numero) {
		case 0:
			System.out.println(numero);
			break;
		}
	}
}

Seria bom validar se o usuario está realmente digitando um número...

Flavio_Luiz

O tipo da variável que o switch recebe tem que ser a msm que o case compara

edmarr

a estrutura de controle switch so funciona com , Inteiros , ou com ENUM no java 5 .

pedroroxd

Ah… Entendi…
Esse eh soh 1 exemplo simples, em que a pessoa teria apenas 2 opções…
Tava pensando para um exemplo maior…
Mas ta bom…
Valew ae
Resolvido

PS: To precisando de ajuda em outro post… Faz um tempinho ja:
http://guj.com.br/posts/list/0/138800.java

Criado 23 de setembro de 2009
Ultima resposta 23 de set. de 2009
Respostas 6
Participantes 6