Significato del connettivo logico !
Salve a tutti ! Ho il seguente esercizio :
String []a = b;
int i=0,j=0,k=0 ; boolean q=false ;
for ( i=0 ; i < a.lenght ; i++){
j=0 ; q=false;
while (j< a.lenght () && ! q ) {
if (a.charAt (j) == c ){
k++;
if ( k>v){
q=true;
k=0;
}
}
j++;
}
}
Dove c= "l" ,v =3 e b={ "lola", "lilli "}
Cosa significa ! q ??? Come lo devo interpretare ?? perchè se q è stato dichiarato false con quel simbolo mi diventa true?? Cioè l'istruzione del while la devo interpetare come " finchè j è minore della lunghezza di a e q è true "???
Grazie a chiunque mi risponda !
String []a = b;
int i=0,j=0,k=0 ; boolean q=false ;
for ( i=0 ; i < a.lenght ; i++){
j=0 ; q=false;
while (j< a.lenght () && ! q ) {
if (a.charAt (j) == c ){
k++;
if ( k>v){
q=true;
k=0;
}
}
j++;
}
}
Dove c= "l" ,v =3 e b={ "lola", "lilli "}
Cosa significa ! q ??? Come lo devo interpretare ?? perchè se q è stato dichiarato false con quel simbolo mi diventa true?? Cioè l'istruzione del while la devo interpetare come " finchè j è minore della lunghezza di a e q è true "???
Grazie a chiunque mi risponda !
Risposte
!q significa NOT q. Cioè nega l'espressione successiva. Se quindi q==true, !q==false e viceversa. Per cui la condizione del while significa finché j è minore della lunghezza di a e q è falso (cioè !q è vero).
Quindi nel mio caso : "finchè j...e q è vero ( perchè q è stato dichiarato false,quindi ! q è vero ),giusto????
Come ti ho già spiegato.. finché !q è vero. q dovrà essere falso..