Título: Como se leería estos en palabra llanas Publicado por: angra en 26 Julio 2012, 10:27 am Hola este es mi primer tema quitando la presentación ;D. Estoy aprendiendo java :rolleyes: y hay algunas veces que no se leer trozos de java, os escribo a continuación el trozo de java:
String aux = sc.nextline(); if(aux==null || aux= "") aux="s" si me podéis poner en palabras llanas lo que significa, lo agredeceré mucho? Muchas gracias de antemano ;-) Título: Re: Como se leería estos en palabra llanas Publicado por: Senior++ en 26 Julio 2012, 10:47 am Hola este es mi primer tema quitando la presentación ;D. Estoy aprendiendo java :rolleyes: y hay algunas veces que no se leer trozos de java, os escribo a continuación el trozo de java: String aux = sc.nextline(); if(aux==null || aux= "") aux="s" si me podéis poner en palabras llanas lo que significa, lo agredeceré mucho? Muchas gracias de antemano ;-) Creo que eso esta mal ese código esta mal, creo pero si alguien lo verifica pues mejor... Seria así: SI aux es Null (comparacion) o aux es "" (osea sin ningún caracter) Ese código tiene varios fallos (creo) por ejemplo este esta mal: aux= "" y este aux="s" no se por que esta afuera de la condición IF Saludos Título: Re: Como se leería estos en palabra llanas Publicado por: ChavalChavito en 26 Julio 2012, 17:09 pm efectivamente el codigo esta mal, en la condicion del if nos deberia volver un booleano .. y tenemos un (booleano || String) lo cual no tiene ningun sentido...
al usar un solo igual estas asignando.. para entrar hacen falta las llaves tb.. if (<condicion>){ } else{ } Título: Re: Como se leería estos en palabra llanas Publicado por: Pablo Videla en 26 Julio 2012, 17:11 pm Hola este es mi primer tema quitando la presentación ;D. Estoy aprendiendo java :rolleyes: y hay algunas veces que no se leer trozos de java, os escribo a continuación el trozo de java: String aux = sc.nextline(); if(aux==null || aux= "") aux="s" si me podéis poner en palabras llanas lo que significa, lo agredeceré mucho? Muchas gracias de antemano ;-) Cuando un if no tiene llaves se lee como parte del if la linea que continua el codigo esta mal porque en la segunda comparacion || aux="" realmente esta seteando un valor y no comparandolo tendria que ser ||aux =="" osea si arreglas el codigo seria Código
Si aux es nulo o si aux viene vacio, entonces seteamos el valor "s" a aux. aunque mejor haría el if con las llaves, por buena costumbre xD Código
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje. Título: Re: Como se leería estos en palabra llanas Publicado por: int_0x40 en 26 Julio 2012, 17:49 pm Hola angra:
Como un agregado y considerando lo que ya te han dicho, me imagino que ya sabrás que un operador de asignación en ciertos lenguajes es = (es decir que asigna un valor a una variable dada), no confundir con el operador de comparación de igualdad, que en muchos lenguajes se representa con ==, o el de identidad ===. Entonces una sentencia como String aux = sc.nextline(); implica que le asignas el valor que retorne la función sc.nextline() a la variable aux, en lenguajes de tipos de datos estrictos debe ser String el valor que se asigne a una variable de tipo String. En cambio si ves expresiones como aux==null estás comparando si es igual el valor de aux con un valor nulo, el resultado será verdadero o falso, esa condición es la que da razón de ser a la sentencia IF. Si tienes aux==null || aux== "", es una condición en la que se compara lógicamente entre una U otra expresión (operador OR) , es decir quieres saber si la condición aux igual a null O aux igual a cadena vacía es verdadera o falsa, dependiendo de si una de las dos es verdadera se asignará la cadena "s" a la variable aux. Saludos. Título: Re: Como se leería estos en palabra llanas Publicado por: angra en 26 Julio 2012, 20:44 pm Muchas gracias a todos por la explicación, ;-) ahora sé un poco más . La verdad es que estaba bloqueado, no lo entendía. Tengo más dudas pero pocoa poco que no quiero ser pesao :rolleyes:. Lo dicho gracias ;)
Título: Re: Como se leería estos en palabra llanas Publicado por: Senior++ en 26 Julio 2012, 21:14 pm Mira angra te explico un poco más el IF
Por ejemplo quieres hacer un programa que si la variable numero sea igual a 3 te muestre un mensaje que la variable numero valga 3 ok? seria así: Código: class Reloj{ Ahora te pondre otro código y piensa que crees que saldrá: Código: class Reloj{ Bueno te explico un poco existen: > mayor que Ej: if (numero>numero2){} (obviamente el código sigue pero ya solo depende de ti) < menor que Ej: if (numero<numero2){} == Igual que Ej: if (numero==numero2){} != es distinto Ej:if (numero!=numero2){} || o (si,significa o) Ej: if(numero=3 || numero2 = 5){} Aquí uno de los dos tiene que ser true para que funcione ya depende de ti. && y (Si,significa y) Ej: if(numero=3 && numero2 = 5) {}Aqui los dos se tienen que cumplir, si no devuelve un valor false. En cambio hay otro para las variables boleanas ! No (si, significa no) if(!numero) (obviamente tienes que crear una variable bolean que sería asi: boolean numero Bueno espero que estén todos a lo mejor no me acorde de alguno pero si tienes alguna duda dimelo Título: Re: Como se leería estos en palabra llanas Publicado por: angra en 27 Julio 2012, 13:48 pm Hola Senior, viendo el último codigo creo que el resultado es lo que ponga en else ya que la condición no se cumple, siendo el valor del numero=2 y no es 3 como en la condición.
De nuevo gracias ;) Título: Re: Como se leería estos en palabra llanas Publicado por: Valkyr en 27 Julio 2012, 17:07 pm Una cosa que me parece nadie ha dicho. En Java las comparaciones de cadenas de caracteres (String) se realizan con el método equals de dicha clase. Es decir, el código debería ser:
Código
Compararlo con null con el operador '==' si es correcto, pero para compararlo con cualquier otra cadena de caracteres (incluida la cadena vacía, que es la del ejemplo) se debe hacer con el método equals. Saludos. Título: Re: Como se leería estos en palabra llanas Publicado por: Pablo Videla en 27 Julio 2012, 17:54 pm A lo mejor es una mala practica compararlo con =="" pero de que se puede, se puede :xD
Título: Re: Como se leería estos en palabra llanas Publicado por: leogtz en 27 Julio 2012, 20:44 pm A lo mejor es una mala practica compararlo con =="" pero de que se puede, se puede :xD No, no debería usarse, == comprueba si ambos objetos son iguales, no es lo mismo a .equals(string). http://www.leepoint.net/notes-java/data/strings/12stringcomparison.html Título: Re: Como se leería estos en palabra llanas Publicado por: Pablo Videla en 27 Julio 2012, 20:59 pm No, no debería usarse, == comprueba si ambos objetos son iguales, no es lo mismo a .equals(string). http://www.leepoint.net/notes-java/data/strings/12stringcomparison.html :o http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/clases1/string.htm Tienen toda la razón. Título: Re: Como se leería estos en palabra llanas Publicado por: int_0x40 en 29 Julio 2012, 18:31 pm cierto, bueno hay que aprender de las especificaciones de java --->
Citar To compare Strings for equality, don't use ==. The == operator checks to see if two objects are exactly the same object. Two strings may be different objects, but have the same value (have exactly the same characters in them). Use the .equals() method to compare strings for equality. Similarly, use the .compareTo() method to test for unequal comparisons En resumen, el operador == en Java checa si dos objetos son exactamente el mismo. Dos cadenas pueden ser diferentes pero tener el mismo valor, el mismo número de caracteres como en "loca" y "cola".El método equals() las compara en busca de igualdad. Saludos. Título: Re: Como se leería estos en palabra llanas Publicado por: ChavalChavito en 29 Julio 2012, 23:59 pm y .equalsIgnoreCase(String) compara cadenas sin discriminar mayuscula y minuscula.. ;)
|