【发布时间】:2014-01-07 13:13:36
【问题描述】:
好的,基本上我有一个显示数组中位数的客户端,如果它是有序的 这是在服务器中检查的, 如果数组不按顺序排列,则它会产生“错误消息”,但不会产生中位数。 但是它继续处理数组中位数的值,尽管我创建了两个条件,因此只有 IF(boolean = true 然后它显示中位数)
下面是我所说的部分的客户'
double median = Server.getMedian(array);
Boolean truefalse = Server.checkFalse(array);
// prints the response if the array is in order or not
String response = Server.errorMsg(array);
System.out.println(truefalse);
if(truefalse = false){
System.out.println(response);
}
else if(truefalse = true){
System.out.println(response);
System.out.println("The median of the array is " + median + ".");
}
}}
'
这是来自服务器的方法。 if( ((array[i+1] array[i] && (array[0] > array[9])))){ 上面的这一行检查升序和降序'
public static String errorMsg(int[] array){
String checker = "Error, the numbers are not in order";
for(int i =0; i<array.length-1; i++){
if( (array[i+1] < array[i]) || ((array[i+1] > array[i] && (array[1] > array[9]))) ){
return checker;
}
}
return "The numbers are in order!";
}
public static Boolean checkFalse(int[] array){
for(int i =0; i<array.length-1; i++){
if( (array[i+1] < array[i]) || ((array[i+1] > array[i] && (array[1] > array[9]))) ){
return false;
}
}
return true;
}
public static double getMedian(int[] array){
double median;
if (array.length%2 == 0){
median = ((double)(array[(array.length/2)-1] + (double)array[array.length/2])/2);
}
else{
median = (array[(array.length/2)-1]);
}
return median;
}
'
这是我从 Java 中得到的响应
假
错误,数字不正确
数组的中位数是 5.5。
【问题讨论】:
-
您是否使用
=或==检查相等性? -
用
==而不是=检查Java中的相等性。
标签: java arrays string boolean