运行是连续数字的列表,这些数字要么全部增加(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);
}
}