Ajuda.. if e else

8 respostas
J

Boa tarde eu queria saber como eu mostro uma mes]nsagem de erro nesta situação ===

if (i = 0)
execute("…");

if (i = 1)
execute("…");

eu sei q tem por um else… m,as só quero q mostre a mensagem de erro se o “i” naum for nem 1 e nem 0… como é ?? onde vai o else??

Obrigado

8 Respostas

peczenyj

if (i == 0){ ... } else if (i == 1) { ... } else { ... }

ou

if (i != 0 && i != 1) { // Não é nem 0 nem 1 ... }

sydtpt
if(i==0 || i==1){

exec("");

}else{

}

os sinal de igualdade é “==” e não “=” .

felipealbuquerque

Importante: para comparações, utilizamos o ‘==’. O ‘=’ serve para atribuições.

Se eu entendi a sua pergunta, o código deve ficar parecido com esse:

//...

if (i == 0) {
    // faz algo
} else if (i == 1) {
    // faz algo
} else {
    // exibe a mensagem de erro
}

//...
spycall

switch (i) { case 0: execute(...); break; case 1: execute(...); break; default: System.out.println("erro"); break; }

J

blz…

Mas é q os 2 if é para executarem duas coisas diferentes… ent5ão naum podem ser juntos…

felipealbuquerque

Então a primeira solução do peczenyj, a minha solução e a solução do spycall são válidas para resolver o seu problema.

Marky.Vasconcelos

spycall:
switch (i) { case 0: execute(...); break; case 1: execute(...); break; default: System.out.println("erro"); break; }

Swith é muito lento, e pode ter perda de performance é recomendavel não utilizar.

T

Mark_Ameba:

Swith é muito lento, e pode ter perda de performance é recomendavel não utilizar.

Onde é que você leu isso?
Ele é equivalente a uma série de ifs consecutivos (se os valores não forem consecutivos) ou a um “goto calculado” (se os valores forem consecutivos e pequenos).
Pode até ser mais rápido, se bobear.
Mas não é isso que vai tornar seu programa mais lento; outras coisas (como reconexões ao banco de dados, ou redesenho desnecessário de telas) é que tornam seu programa mais lento. Não um “switch”.

Criado 22 de novembro de 2007
Ultima resposta 22 de nov. de 2007
Respostas 8
Participantes 7