2013-12-19 71 views
0

好了,所以基本上我有一個顯示一個數組的中位數如果是爲了 這在服務器檢查, 客戶如果數組不是爲了那會產生一個「錯誤信息」,但不是中位數。然而 它使處理所述陣列的中值的值雖然我創建兩個條件,使得僅IF(布爾=真然後顯示中值)如果語句不調用正確的字符串或布爾

下面是在這我說的一部分在客戶端'

 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 + "."); 
     } 
    }} 
' 

以下是來自服務器的方法。 (array [0]> array [9]))){ if((array [i + 1] < array [i])||((array [i + 1]> array [i] & &( This線以上檢查升序和降序」

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。 < ----這不應該在那裏!

+2

你用'='或'=='檢查等同性嗎? –

+1

Java中的平等使用'=='來檢查,而不是'='。 – zneak

回答

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 ......它不檢查..

+2

哇抱歉傢伙....有時這是簡單的事情.... –

+0

@AdamCalcanes - 我們都去過一次..:P – TheLostMind

0

==用於比較值。

=是賦值運算符,而不是比較運算符。

嘗試==

if(truefalse == false) 
0

=是賦值,而不是等值。

現在,你可以切換所有的語句看起來像:

if(truefalse = false) 

到:

if(truefalse == false) 

...但我會提出一個更好的辦法。既然你已經有了某種布爾型,爲什麼不直接使用呢?

if(!truefalse) //shorthand for truefalse is false 

if(truefalse) //shorthand for truefalse is true