簡體   English   中英

是否升序

[英]ascending order or not

如果是按升序排列,則需要打印“升序”。 否則,請打印“其他”。

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

您在此練習中遇到的麻煩似乎比應有的多。 因此,我只給出一個提示,因為這看起來像是作業:您應該進行n-1比較以確定順序。 使用for循環執行此操作。

需要說明的是:您提供的代碼不包含用於比較數字的for循環,並且進行的某些比較與驗證數字的順序無關。

提示:

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

例如,表達式a[0] == a[0]將始終為true,這意味着您的當前代碼將始終輸入第一個條件並顯示“升序”。

另一方面,如果沒有某種迭代,就無法確定n元素的列表是按升序排列的。 您需要使用循環或遞歸來相互檢查數組的元素。

試試這個代碼

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

    }  
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM