Lorsque je tape ce code que je reçois comme réponse 58,18Ce code ne fonctionne pas
public class text {
public static void main(String[] args) {
//Data Array
double data[]={19.2,22.3,32.51,39,41.16,49.46,55.91,58.18};
//Finding minimum angle
double minimum_angle=0;
for(int counter=0;counter<data.length;counter++){
if(data[counter]<data[counter++]){
minimum_angle=data[counter];
}
else {minimum_angle=data[counter++];}
}
System.out.print(minimum_angle);
}
}
Mais quand je tape la même chose avec une petite modification que je reçois 55,91. Pourquoi est-ce vrai?
public class Main_class {
public static void main(String args[]){
//Data Array
double data[]={19.2,22.3,32.51,39,41.16,49.46,55.91,58.18};
//Finding minimum angle
double minimum_angle=0;
for(int counter=0;counter<data.length;counter++){
double x=data[counter];
double y=data[counter++];
if(x<y){
minimum_angle=x;
}
else {
minimum_angle=y;
}
}
System.out.print(minimum_angle);
}
1) Vous êtes clairement en train de mentir: le code * fonctionne *. 2) Quelle est la "petite différence"? Ne faites pas peindre votre public à travers votre code. – kryger
Si vous appelez 'counter ++' deux fois, vous augmentez' counter' de deux – khelwood
C'est parce que votre algorithme ne fait pas ce qu'il est censé faire. Arrêtez d'utiliser ++. Arrêtez de comparer un élément avec le suivant. Comparez chaque élément au minimum actuel. –