2014-10-19 111 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"); 
     } 

    } 
}