好的,基本上我有一个客户端显示数组的中位数,如果它是有序的 这在服务器中检查, 如果数组不是有序的,那么它会产生“错误消息”而不是中位数。 但它继续处理数组中值的值虽然我创建了两个条件,只有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 [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。 &lt; ----这不应该在那里!
答案 0 :(得分:1)
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(trueFalse) //bad way of naming a boolean variable BTW
'='将值false / true赋给truefalse ...它没有检查..
答案 1 :(得分:0)
== 。
= 是赋值运算符,而不是比较运算符。
尝试==
:
if(truefalse == false)
答案 2 :(得分:0)
=
是赋值,而不是等价。
现在,您可以切换所有类似的语句:
if(truefalse = false)
为:
if(truefalse == false)
......但我会提出一个更好的方法。既然你已经有了某种布尔值,为什么不直接使用呢?
if(!truefalse) //shorthand for truefalse is false
if(truefalse) //shorthand for truefalse is true