Dúvida em código fonte

3 respostas
E

meu programa apresenta erro nas linhas em negrito porém não entendi o erro
imcompatible types
found double
required int

import javax.swing.JOptionPane;

public class Times {

public static void main (String [] args){

System.out.println(Escolha seu time do coração:);

System.out.println(Escolha 1 para Flamengo);

System.out.println(Escolha 2 para Fluminense);

System.out.println(Escolha 3 para Botafogo);

System.out.println(Escolha 4 para Vasco);
[b]String opcao = Double.parseDouble(JOptionPane.showInputDialog("Digite o código do seu time favorito:"));
    switch (opcao){[/b]
        case 1 :flamengo();
        break;
        case 2 :fluminense();
        break;
        case 3 :botafogo();
        break;
        case 4 :vasco();
        break;
    }
}
public static void flamengo(){
    JOptionPane.showMessageDialog(null, "Campeão Mundial");
}
public static void fluminense(){
    JOptionPane.showMessageDialog(null, "conhece a segundona");
}
public static void botafogo(){
    JOptionPane.showMessageDialog(null, "3 vezes freguês do Flamengo");
}
public static void vasco(){
    fluminense();
    botafogo();
}

}

3 Respostas

Thiago_Luis

Fala cara, blza.

É que no switch case só aceita inteiro, e vc colocou uma String.
O que deve ser feito é isso

String opcao = JOptionPane.showInputDialog("Digite o código do seu time favorito:"); int opc = Integer.parseInt(opcao); switch(opc){ ....
Ah, quando for colocar códigos, coloque entre tags “Code”, daí fica mais facil de ver :smiley:

Abraço

W

Inicialmente… vc está tentando atribuir um Double a uma String…

e em segundo lugar:

A variável ou expressão que estiver sendo avaliada no switch deverá ser de um dos seguintes tipos primitivos:

char;

byte;

short;

int;

ou também enum;
Thiago_Luis

wesley:
Inicialmente… vc está tentando atribuir um Double a uma String…

e em segundo lugar:

A variável ou expressão que estiver sendo avaliada no switch deverá ser de um dos seguintes tipos primitivos:

char;

byte;

short;

int;

ou também enum;</blockquote>

É verdade, aceita char; byte; short; ou também enum;

Viajei :lol:

Criado 22 de maio de 2009
Ultima resposta 22 de mai. de 2009
Respostas 3
Participantes 3