是否升序

时间:2014-10-19 19:41:12

标签: java

如果它按升序排列,我需要打印" Ascending"。 如果不是这样,请打印"否则"。

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

4 个答案:

答案 0 :(得分:2)

这项运动似乎比你应该遇到的麻烦多得多。所以我只给出一个提示,因为这看起来像是作业:你应该进行n-1比较以确定顺序。使用for循环执行此操作。

澄清一下:您提供的代码不包含比较数字的for循环,并进行一些与验证数字顺序无关的比较。

答案 1 :(得分:2)

提示:

  1. 以下两项比较没有做任何有用的事情:a[0] <= args.lengtha[0] == a[0]
  2. 您需要使用循环。

答案 2 :(得分:0)

首先,表达式a[0] == a[0]将始终评估为true,这意味着您当前的代码将始终进入第一个条件并打印&#34; Ascending&#34;。

另一方面,如果没有某种迭代,您无法确定n元素列表是按升序排列的。您需要使用循环或递归来检查阵列的元素是否相互对齐。

答案 3 :(得分: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");
        }

    }  
}