2

estoy tratando de hacer un proyecto bastante simple, pero no entiendo porque me funciona mal en java. Es un do while que se repite si no ingreso gato, perro o conejo. En c# sale del bucle cuando ingreso perro, gato o conejo. En java, no, sigue repitiendo el bucle aunque ingrese gato, perro o conejo.

Do while en c# y en java

user255986
  • 35
  • 4
  • Mira [ask] para que tu pregunta sea mejor recibida. También, aprovecha y haz el [tour] para entender mejor cómo funcionamos y de paso obtener tu primera [medalla](https://es.stackoverflow.com/help/badges)! – gbianchi May 09 '21 at 01:39

2 Answers2

1

El problema que Tenes acá, es que el operador != no es lo mismo en java que en c#

En c#, el operador hace los descripto aca. En c#, los operadores hacen diferentes cosas, dependiendo el tipo de dato con el que están tratando. En este caso, como son strings, hace una comparación carácter a carácter, por lo tanto sirve para comparar strings.

También, podrías usar String.Compare(), la cual tiene mas opciones para hacer la comparación...

En java, como vemos en esta respuesta, los operadores funcionan de otra forma.

Entonces en java, si estas obligado a usar equals para comparar.

gbianchi
  • 19,675
  • 11
  • 38
  • 58
1

Puedes utilizar el

.equals("valor_a_comparar")
BetaM
  • 30,571
  • 7
  • 32
  • 50
  • 1
    OP esta pidiendo una explicacion. Aca no le explicas nada.. considera mirar [answer] y dar una respuesta que explique el porque de las cosas... – gbianchi May 09 '21 at 01:48