使用java列表(ArrayList<Integer>)存储多个整数,输出其中的最大值及其索引号。 本题目要求从键盘输入多个数字存于列表(ArrayList)中,并输出其中最大值及其在数组中的索引号 输入格式: 输入多个整数,个数不限。当输入"end"字符串时结束输入。 输出格式: 输出列表中的最大值及其索引号。比如:最大值为56,索引号为2。 当输入"end"字符串时结束输入。 若输入了非“end”及非数字的字符串,程序提示"输入了非数字,数字格式转换异常"。 若没有输入数字,程序提示"无数据输入"。
时间: 2024-03-22 12:37:35 浏览: 333
好的,下面是Java代码实现。
```java
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 创建一个整数列表
ArrayList<Integer> list = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
// 循环读入数字,直到输入"end"
while (true) {
String input = scanner.nextLine();
if (input.equals("end")) {
break;
}
try {
// 将字符串转换为整数并添加至列表中
int num = Integer.parseInt(input);
list.add(num);
} catch (NumberFormatException e) {
// 若输入非数字字符串,抛出异常
System.out.println("输入了非数字,数字格式转换异常");
return;
}
}
// 判断列表是否为空
if (list.isEmpty()) {
System.out.println("无数据输入");
return;
}
// 遍历列表,找出最大值及其索引号
int max = list.get(0);
int index = 0;
for (int i = 1; i < list.size(); i++) {
if (list.get(i) > max) {
max = list.get(i);
index = i;
}
}
// 输出最大值及其索引号
System.out.println("最大值为" + max + ",索引号为" + index);
}
}
```
在这个程序中,我们使用了 `ArrayList<Integer>` 来存储输入的数字,并在遍历列表时比较每个数字的大小,找出最大值及其索引号。同时,我们也对输入非数字字符串和没有输入数字的情况进行了处理。
阅读全文