2014-10-19 135 views
-1

如果升序,我需要打印「升序」。 如果不是,打印「否則」。升序或不升級

 int [] a = new int[args.length]; 

     for (int i = 0; i < args.length; i++) 
     {  
      a[i] = Integer.parseInt(args[i]); 
     } 
      if (a[0] <= args.length || a[0] == a[0]) 
      { 
       System.out.println("Ascending"); 
      } 
      else 
      { 
       System.out.println("Otherwise"); 
      } 
+3

你爲什麼這樣做? 'a [0] == a [0]'。我想,你可以找出這個比較的結果。 – 2014-10-19 19:42:34

回答

2

這個練習似乎比你應該有更多的麻煩。所以我只給一個提示,因爲這看起來像功課:你應該做出n-1比較,以確定順序。使用for循環來做到這一點。

澄清:您提供的代碼不包含比較數字的for循環,並進行一些與驗證數字順序無關的比較。

2

提示:

  1. 以下兩個比較沒有做任何有用:a[0] <= args.lengtha[0] == a[0]
  2. 您需要使用循環。
0

其中之一,表達式a[0] == a[0]將始終評估爲真,這意味着您當前的代碼將始終輸入第一個條件並打印「升序」。

另一方面,您無法確定n元素的列表在沒有某種迭代的情況下按升序排列。您需要使用循環或遞歸來檢查數組元素之間的對應關係。

0

試試這個代碼

public class Ascending 
{ 
    public static void main(String[] args) 
    { 

     int [] a = new int[args.length]; 
     boolean otherwise = false; 
     for (int i = 0; i < args.length; i++) 
     {  
      a[i] = Integer.parseInt(args[i]); 
     } 
     for(int i=1;i<a.length;i++){ 
      if(a[i-1]>a[i]){ 
       otherwise = true; 
      } 
     } 

     if (!otherwise) 
     { 
      System.out.println("Ascending"); 
     } 
     else 
     { 
      System.out.println("Otherwise"); 
     } 

    } 
}