|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
|
[Java]non credo di aver capito bene il return
Allora, diciamo pure che è un certa ora e che il cervello ha traslocato...
Codice:
public boolean isStringLC()
{
boolean result = false;
char[] charedStr = this.toCharArray();
for(int i=0;i<charedStr.length;i++)
result = Character.isLowerCase(charedStr[i]) && result;
return result;
}
la mia domanda è: perchè sta maledetta funzione mi ritorna sempre il valore con cui ho inizializzato la variabile result e non il valore che essa assume dopo il ciclo for? grazie mille P.S.: ...mi sto già vergognando... ![]() P.P.S.: ...lo giuro!!
__________________
...work in progress... Ultima modifica di KNX : 20-02-2007 alle 02:40. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
|
questa roba:
Codice:
public class mainClass
{
public static void main(String[] args)
{
String greet = "Ciao";
returnString(greet);
}
public static String returnString(String x){
return x;
}
}
forse è un bug... o forse sto sognando...
__________________
...work in progress... |
|
|
|
|
|
#3 | ||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Mi sembra anche abbastanza logico: il metodo isLowerCase restituisce un boolean. Al primo carattere che non è lower-case, ritorna false. Quindi result diventa false da lì in avanti. Altrimenti se tutti i caratteri sono lower-case, allora farà sempre true && true, quindi true. Tra l'altro, si potrebbe anche ottimizzare cosi: Codice:
boolean result = true;
char[] charedStr = this.toCharArray();
for(int i=0; result && i<charedStr.length; i++)
result = Character.isLowerCase(charedStr[i]);
return result;
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) Ultima modifica di andbin : 20-02-2007 alle 09:58. |
||
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
per stampare su console devi fare in questo modo:
Codice:
System.out.print(str); Codice:
System.out.println(str); se non la conosci, è lì il problema, se hai ancora problemi facci un fischio
__________________
My gaming placement |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
|
Si si si scusate, la logica booleana la conosco... subito dopo aver postato ieri sera ho realizzato che inizializzare result a false avrebbe portato result ad essere sempre false indipendentemete dal valore del primo pezzo della condizione se così vogliamo chiamarlo...
purtroppo, facevo mille prove e non mi accorgevo del fatto che result era inizializzato a false... stendiamo un velo pietoso su ciò che ho postato ieri sera... dimenticatevene ve ne prego soprattutto del secondo dei due post in cui pretendevo che return mi stampasse una stringa... mmmmm... diabolico... bho non so forse ero ubriaco... scusatemi ancora
__________________
...work in progress... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:18.





















