2016-06-11 92 views
0
import java.util.Scanner; 

public class StrictDescending 
{ 
    public static void main(String[] args) 
    { 
     final int SENTINEL = 1000; 
     Scanner n = new Scanner(System.in); 
     int prev = n.nextInt(); 

     if (prev >= SENTINEL) 
     { 
      System.out.println("Empty list"); 
      return; 
     } 
     while (true) 
     { 
      int next = n.nextInt(); 
      if (next >= SENTINEL) { 
       break; 
      } else if (next >= prev) { 
       System.out.println("No, the list is not in descending order."); 
      } 
      prev = next; 
     } 
     System.out.println("Yes, the list in in descending order."); 
    } 
} 

我想運行這個程序,並通過一個3位數的整數列表,當下面的3位整數不降序我想打印沒有列表不下降,也如果該列表是在它下降涉及到非3位numbr像1000我想打印是列表中降序我輸出的作品,但是當我把整數非降列表它吐出來的兩個輸出語句有一個java代碼輸出錯誤

對於此輸入

150 140 140 120 1000 

我得到

No, the list is not in descending order. 

No, the list is not in descending order. 

Yes, the list in in descending order. 

時,我只是想

No, the list is not in descending order. 
+0

我該如何解決這個問題? – user6451702

+0

看看我提供的鏈接並接受重複的 –

+0

聽起來是正確的。這行將在每次調用時執行:System.out.println(「是,列表按降序排列。」); – obi1

回答

0

,如果我理解正確的話您的問題描述,您可以通過設置一個標誌解決它,並把它作爲條件印刷品或者「是的,名單按降序排列。「或「不,列表不是按降序排列。」

import java.util.Scanner; 

public class StrictDescending { 

    public static void main(String[] args) { 
     final int SENTINEL = 1000; 
     Scanner n = new Scanner(System.in); 
     int prev = n.nextInt(); 

     if (prev >= SENTINEL) { 
      System.out.println("Empty list"); 
      return; 
     } 
     boolean descending = true; 
     while (true) { 
      int next = n.nextInt(); 
      if (next >= SENTINEL) { 
       break; 
      } else if (next >= prev) { 
       descending = false; 
      } 
      prev = next; 
     } 
     if (descending) { 
      System.out.println("Yes, the list is in descending order."); 
     } else { 
      System.out.println("No, the list is not in descending order."); 
     } 
    } 
} 
+0

150 140 140 120 1000對於這些輸出,我仍然收到是,該列表按降序排列。但140和140意味着它不下降 – user6451702

+0

@ user6451702哈良好的捕獲,我沒有測試重複。這是因爲我搞砸了,會修復。 – Arjan

+0

@ user6451702這是你的意思嗎?這主要是你自己的代碼,我只是添加了布爾邏輯。如果您對此有任何疑問,請不要猶豫。 – Arjan