我的java程序用于完成下面的任务,但是我无法让用户输入部分完全正常工作

时间:2015-06-07 14:59:45

标签: java

运行是连续数字的列表,这些数字要么全部增加(ups),要么全部减少(减少)。向上运行和向下运行总是交替运行,一次运行的最后一个元素是下一次运行的第一个元素。

编写一个程序,计算多个数字列表中的运行次数。第一行输入包含列表数,后跟列表,每行一个。

实施例

Input
3
4 1 8 12 17
2 5 9
-4 -5 -2 0 1 0

Output
2
1
3

这是我几乎完整的代码,我需要帮助(用户输入部分,计算运行的逻辑正在运行。

import java.util.Scanner;

class test
{
  public static void main (String[] args)
{

    boolean prevgrad = false;

    int length;
    Scanner input = new Scanner(System.in);

    System.out.println("How many lists would you like to enter? ");
    length = input.nextInt();

    int[] number = new int[length];

    for(int y = 0; y < length; y++){
        System.out.println("Enter values for list " +(y+1));
        number[y] = input.nextInt();
    }

    int prevnum = number[0];
    int currnum = number[1];
    int totalrun = 1;

    if(currnum > prevnum){
        prevgrad = true;
    }



    for (int i = 0;  i < number.length - 1; i++) {
        prevnum = number[i];
        currnum = number[i+1];

        if (currnum > prevnum) {
            if(!prevgrad) {
                totalrun = totalrun + 1;
                prevgrad = true;
            }
        } else {
            if(prevgrad) {
                totalrun = totalrun + 1;
                prevgrad = false;
            }
        }

    }
    System.out.println("Total run = " + totalrun);
}
}

0 个答案:

没有答案