Estou iniciando no universo Java e estou fazendo um exercício onde tenho de converter booleam para inteiro, mas até o momento sem sucesso, pois utilizei o operador ternário, mas quando o teste chega no operador lógico “!” da um erro.
sim sim, em cima disso achei que os demais testes que tivesse que retornar zero daria erro, mas rodou. por exemplo o teste (pInt ^ qInt) a saída dele foi zero.
S
Satangozo
Mano você está tentando executar do jeito que está copiado ai?
A linha:
System.out.println((pInt^qInt)+"\t"+**(!pInt)**)
deveria estar concatenando strings mas (!pInt) não é uma string, mas “("+!plnt+")” é uma string…
Sendo assim acho que o correto seria essa linha ser assim:
Quanto ao !pInt é como o amigo @Lucas_Camara acima disse o “!” é um sinal de negação que não se aplica a um inteiro nesse caso você pode negar o “p” e o “q” que são booleanos, mas “pInt” e o “qInt” não podem ser negados por serem int, logo, não irá rodar.
A
ams.protazio
sim isso entendi, mas minha curiosidade é pq os outros testes rodaram? & | ^ ? e retornaram os valores que foram testados no ternário. Mas vcs conhecem outra maneira de converter?
L
Lucas_Camara1 like
A ? funcionou pq é um simples IF ternário: (se true) ? retorne isso : senão retorne isso;