Estou tendo um problema o SWITCH

9 respostas
J

Estou fazendo esse exercício

Elabore um algoritmo que leia o valor de dois números inteiros e a operação aritmética desejada; calcule, então, a reposta adequada. Utilize os símbolos da tabela a seguir para ler qual a operação aritmética escolhida.

Símbolo Operação aritmética

  • Adição
    
  • Subtração
    
  • Multiplicação
    

/ Divisão

Início

Inteiro: X, Y;

Real: R;

Caracter: S;

Leia(X, Y, S);

Escolha (S)

Caso ?+?:	início

R = X + Y;

Escreva(?A soma resulta em?, R);

Fim;

Caso?-?:	início

R = X ? Y;

Escreva(?A subtração resulta em?, R);

Fim;

Caso?*?:	início

R = X * Y;

Escreva(?A multiplicação resulta em?, R);

Fim;

Caso?/?:	início

Se (Y = 0)

Então

Escreva(?Denominador nulo!?);

Senão

Início

R = X / Y;

Escreva (?A divisão resulta em ?, R);

Fim;

Fimse;

Fim;

Caso contrário: escreva (?Operação Inexistente!?);

Fimescolha;

fim

porem quando coloco o S no Switch ele fala que não aceita Strings no Switch, tem algum outro comando que faça o Switch aceitar caracteres?

9 Respostas

caio.gaspar

o switch dó aceita numero ou “um” caracter.
voce pode tentar utilizar o

switch(s.charAt(0))
romarcio

Até o Java 6 o Switch não trabalha com String, ouvi dizer que no Java 7 isso mudou mas não sei confirmar.
Mas ele trabalha com char, mude de String para char.

J

mudei para o char e fiz do outro jeito também, agora o erro passou para case "+"

J

eu to usando o ultimo netBeans.

caio.gaspar

tenta com isso case '+':

B

Tenta

case '+'

Aspas duplas é String, aspas simples, char

Jesuino_Master

Caracteres são representados por apóstrofos (aspas simples) ’ e Strings com “”.

Se você colocar entre aspas, independente se tiver um caractere, será um String!!

romarcio

Não esqueça que sua variavel S terá que ser do tipo char também.

char S = '';
        switch (S) {
            case '+': ....
            case '-' : ....   
        }
J

era as aspas mesmo!

Obrigado pela ajuda!

Criado 2 de maio de 2011
Ultima resposta 2 de mai. de 2011
Respostas 9
Participantes 5