當我爲58.18此代碼不能正常工作
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);
}
}
輸入這個代碼,我得到的答案,但,當我鍵入相同的一點點修改,我得到55.91。爲什麼這樣?
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)你很清楚地說:代碼*是*工作。 2)什麼是「小差異」?不要讓你的觀衆通過你的代碼梳理。 – kryger
如果你調用'counter ++'兩次,你增加了'counter'兩個 – khelwood
這是因爲你的算法沒有做它應該做的事。停止使用++。停止比較一個元素和下一個元素。將每個元素與當前最小值進行比較。 –