2017-07-31 26 views
0

我在考试复习中得到了这个问题“为读取一系列整数值的程序编写psuedocode并决定它是否为递减序列,程序将首先读入要处理的值的数量,后面跟着值本身,如果序列正在递减,则输出将为“是”,否则为“否”。确定一个序列是否正在减少java

这是我的代码,但它有时不会停止,(例如,当您输入3 2 1时)。有人能帮我弄清楚我错在哪里吗?谢谢!

import java.util.Scanner; 

public class DecreasingOrNot { 

    public static void main(String[] args){ 
     int number1, number2; 
     boolean decrease = true; 
     Scanner input = new Scanner(System.in); 
     System.out.println("Enter a sequence of numbers: "); 
     number2 = input.nextInt(); 
     while (decrease && input.hasNext()){ 
      number1 = number2; 
      number2 = input.nextInt(); 
      if (number1 < number2){ 
       decrease = false; 
      } 
     } 
     if (decrease){ 
      System.out.println("Yes"); 
     } 
     else{ 
      System.out.println("No"); 
     } 
    } 
} 
+0

发布样本输入以产生问题 –

+0

可能与您阅读数字的方式有差异,请尝试将它们一次全部读入并放入数组中,然后比较 – ja08prat

+2

您正在使用第一个输入,它应该是序列中数字的数量,作为序列中的数字。 –

回答

0

现在,你有没有环路的突破,如果用户持续增加人数减少的方式(这就是为什么如果用户输入类似的东西不会爆发循环3 2 1) 。

+0

谢谢。我认为input.hasNext()可以终止循环,如果我没有输入更多的数字,但它似乎不工作,因为我认为。如果我按下“enter”键,循环可以终止吗? – jkhujk

相关问题