java本题目要求从键盘输入多个数字存于列表(ArrayList)中,并输出其中最大值及其在数组中的索引号 输入格式: 输入多个整数,个数不限。当输入"end"字符串时结束输入。 输出格式: 输出列表中的最大值及其索引号。比如:最大值为56,索引号为2。 当输入"end"字符串时结束输入。 若输入了非“end”及非数字的字符串,程序提示"输入了非数字,数字格式转换异常"。 若没有输入数字,程序提示"无数据输入"。
时间: 2024-03-20 08:41:25 浏览: 126
下面是Java的代码实现:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> array = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
while (true) {
String data = scanner.next();
if (data.equals("end")) {
break;
}
try {
int number = Integer.parseInt(data);
array.add(number);
} catch (NumberFormatException e) {
System.out.println("输入了非数字,数字格式转换异常");
System.exit(0);
}
}
if (array.size() == 0) {
System.out.println("无数据输入");
} else {
int maxIndex = 0;
for (int i = 0; i < array.size(); i++) {
if (array.get(i) > array.get(maxIndex)) {
maxIndex = i;
}
}
System.out.printf("最大值为%d,索引号为%d", array.get(maxIndex), maxIndex);
}
}
}
```
这段代码首先创建了一个 `ArrayList<Integer>` 对象 `array` 用于存储输入的整数,然后通过 `Scanner` 对象从键盘获取输入。在 `while` 循环中,如果输入的是字符串 "end",则结束输入;如果是数字,则将其转换成整数并添加到列表中;如果输入的是其他非数字字符串,则输出提示信息并退出程序。最后,如果列表不为空,则遍历列表找到最大值及其索引号,并输出结果。注意,在Java中,索引号从0开始计算。
阅读全文