您可以在文本文件中键入任意10个数字。
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(new FileReader("number.txt"));
while (sc.hasNext()) {
String Str = sc.next();
String[] num = Str.split(",");
int[] Num = new int[num.length];
for (int i = 0; i < num.length; i++) {
Num[i] = Integer.parseInt(num[i]);
if (Num[0] < Num[1] && Num[1] < Num[2] && Num[2] < Num[3]
&& Num[3] < Num[4] && Num[4] < Num[5]
&& Num[5] < Num[6] && Num[6] < Num[7]
&& Num[7] < Num[8] && Num[8] < Num[9]) {
System.out.println("The array is growing.");
break;
} else if (Num[0] > Num[1] && Num[1] > Num[2]
&& Num[2] > Num[3] && Num[3] > Num[4]
&& Num[4] > Num[5] && Num[5] > Num[6]
&& Num[6] > Num[7] && Num[7] > Num[8]
&& Num[8] > Num[9]) {
System.out.println("The array is decreasing.");
break;
} else if (Num[0] == Num[1] && Num[1] == Num[2]
&& Num[2] == Num[3] && Num[3] == Num[4]
&& Num[4] > Num[5] && Num[5] == Num[6]
&& Num[6] == Num[7] && Num[7] == Num[8]
&& Num[8] == Num[9]) {
System.out.println("The array is constant.");
break;
} else if (Num[0] > Num[1] && Num[1] < Num[2]
|| Num[2] > Num[3] && Num[3] < Num[4]
|| Num[4] > Num[5] && Num[5] < Num[6]
|| Num[6] > Num[7] && Num[7] < Num[8]) {
System.out.println("The array is growing and decreasing.");
break;
}
}
}
}
我只是不确定检查数字的最后一行是在增长还是在减少。
任何人都可以提供帮助。感谢。
答案 0 :(得分:1)
仅使用else
。不再需要else if
条款。
while (sc.hasNext()) {
String Str = sc.next();
String[] num = Str.split(",");
int[] Num = new int[num.length];
for (int i = 0; i < Num.length; i++) {
Num[i] = Integer.parseInt(num[i]);
}
if (Num[0] < Num[1] && Num[1] < Num[2] && Num[2] < Num[3]
&& Num[3] < Num[4] && Num[4] < Num[5] && Num[5] < Num[6]
&& Num[6] < Num[7] && Num[7] < Num[8] && Num[8] < Num[9]) {
System.out.println("The array is growing.");
} else if (Num[0] > Num[1] && Num[1] > Num[2] && Num[2] > Num[3]
&& Num[3] > Num[4] && Num[4] > Num[5] && Num[5] > Num[6]
&& Num[6] > Num[7] && Num[7] > Num[8] && Num[8] > Num[9]) {
System.out.println("The array is decreasing.");
} else if (Num[0] == Num[1] && Num[1] == Num[2] && Num[2] == Num[3]
&& Num[3] == Num[4] && Num[4] == Num[5] && Num[5] == Num[6]
&& Num[6] == Num[7] && Num[7] == Num[8] && Num[8] == Num[9]) {
System.out.println("The array is constant.");
} else {
System.out.println("The array is growing and decreasing.");
}
}
另外,第三个条件(检查它是否恒定)是错误的。全部都应该是==
。
另一个问题是初始化Num[]
。您应该首先在独立的Num[]
中初始化所有 for loop
。 <{1}} breaks
块if..else if..else
中的<div ng-repeat="item in somedata.split(',')">{{item}}</div>
被删除。
答案 1 :(得分:0)
将代码重构为方法:
void checkArray(int[] arr) {
if (arr.length < 2) {
System.out.println("Array contains fewer than two elements.");
} else if (arr[0] > arr[1]) {
for (int i = 2; i < arr.length; i++) {
if (arr[i] > arr[i-1]) {
System.out.println("Increasing and decreasing.");
return;
}
}
System.out.println("Decreasing.");
} else if (arr[0] == arr[1]) {
for (int i = 2; i < arr.length; i++) {
if (arr[i] != arr[i-1]) {
System.out.println("Increasing and decreasing.");
return;
}
}
System.out.println("Constant.");
} else {
for (int i = 1; i < arr.length; i++) {
if (arr[i] < arr[i-1]) {
System.out.println("Increasing and decreasing.");
return;
}
}
System.out.println("Increasing.");
}
}