2016-06-11 150 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