[英]If statements aren't calling correct Strings or Booleans
好的,所以基本上我有一个客户端,如果按顺序显示了数组的中位数,则在服务器中检查该数组,如果该数组不按顺序,则它会生成“错误消息”,但不显示中位数。 但是,尽管我创建了两个条件,所以它继续处理数组的中值。
以下是我正在谈论的部分中的客户'
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。 <----这不应该在那里!
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...。它不检查..
比较值时使用== 。
=是赋值运算符,不是比较运算符。
尝试==
:
if(truefalse == false)
=
是分配,而不是等价。
现在,您可以切换所有如下所示的语句:
if(truefalse = false)
至:
if(truefalse == false)
...但是我会提出一种更好的方法。 既然您已经有了某种布尔值,为什么不直接使用它呢?
if(!truefalse) //shorthand for truefalse is false
if(truefalse) //shorthand for truefalse is true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.