[英]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循環,並且進行的某些比較與驗證數字的順序無關。
提示:
a[0] <= args.length
和a[0] == a[0]
。 例如,表達式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.