Maison > Questions et réponses > le corps du texte
Char c[]={'1','2','3','4'}
for(int i=0;i<c.length/2;i++){
char d=c[i];
c[i]=c[c.length-(i+1)];
c[c.length-(i+1)]=d;
}
for(int i=0;i<c.length;i++){
System.out.println(c[i]);
}
为什输出的结果为4321?
天蓬老师2017-04-18 10:51:09
Boucle deux fois, la première fois 1 et 4 sont échangés, la deuxième fois 2 et 3 sont échangés
天蓬老师2017-04-18 10:51:09
Pourquoi pas ? « 1 » et « 4 » sont intervertis, « 2 » et « 3 » sont intervertis.
伊谢尔伦2017-04-18 10:51:09
Quand i = 0; char d=c[i];
Attribuez la valeur de c[0] à d, qui est 1
À ce moment, le tableau c est toujours [1, 2, 3 ; ,4] , mais d a une valeur initiale, qui est 1;
[Le sens de l'opération est de placer l'échange A en position inactive] c[i]=c[c.length-(i+1)];
Attribuer la valeur de c [3] à c[0] ;
À ce moment, le tableau c est [4,2,3,4] et la valeur d est 1;
[Le sens de l'opération est de donner le valeur échangée du côté B vers le côté A]c[c.length-(i+1)]=d;
Attribuez la valeur de d, qui est la valeur 1 de c[0] au début, à c[3]
Jusqu'à présent, la valeur du tableau c est [4,2,3,1], et la valeur de d est 1
[Le sens de l'opération est de donner le nombre de positions libres, c'est-à-dire la valeur initiale de A, vers B; finalement, l'échange des valeursde A et B est réalisé]
Quand i vaut 1, char d=c[i];
d est c[1], qui vaut 2
À ce moment, le tableau c est [4,2,3,1], et la valeur d est 2 ; c[i]=c[c.length-(i+1)];
Attribuez la valeur de c[2] à c[1]
À ce stade, le tableau c est [4,3,3,1] ; et la valeur d est 2 ;
c[c.length-(i+1)]=d;
Attribuez la valeur de d, qui est la valeur 2 de c[1] au début, à c[2] ; Le tableau c est [4,3,2,1] et la valeur d est 2 ;
Terminer la première boucle for
高洛峰2017-04-18 10:51:09
Il s'agit essentiellement d'une opération d'échange
Exemple
a = 1 b = 2 => c = b => b = a a = c
Si cela est possible :
a =1 , b = 2;
a,b:=b,a;
Ça a l'air plus simple