使用列表(ArrayList<Integer>)存储多个整数,输出其中的最大值及其索引号。 分数 10
时间: 2024-03-25 15:38:50 浏览: 148
好的,我可以帮你解决这个问题。
你可以使用以下代码实现:
```
ArrayList<Integer> list = new ArrayList<Integer>();
// 添加多个整数到列表中
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);
System.out.println("最大值的索引号为:" + index);
```
这段代码首先创建了一个 `ArrayList<Integer>` 对象,并向其中添加了多个整数。
然后,使用一个 for 循环遍历列表中的每个元素,找到其中的最大值及其索引号。在循环中,首先将列表的第一个元素作为最大值,然后逐个比较每个元素,如果当前元素大于最大值,则更新最大值及其索引号。
最后,输出最大值及其索引号即可。
希望对你有帮助!
相关问题
使用java列表(ArrayList<Integer>)存储多个整数,输出其中的最大值及其索引号。 本题目要求从键盘输入多个数字存于列表(ArrayList)中,并输出其中最大值及其在数组中的索引号 输入格式: 输入多个整数,个数不限。当输入"end"字符串时结束输入。 输出格式: 输出列表中的最大值及其索引号。比如:最大值为56,索引号为2。 当输入"end"字符串时结束输入。 若输入了非“end”及非数字的字符串,程序提示"输入了非数字,数字格式转换异常"。 若没有输入数字,程序提示"无数据输入"。
好的,下面是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>` 来存储输入的数字,并在遍历列表时比较每个数字的大小,找出最大值及其索引号。同时,我们也对输入非数字字符串和没有输入数字的情况进行了处理。
java本题目要求从键盘输入多个数字存于列表(ArrayList)中,并输出其中最大值及其在数组中的索引号 输入格式: 输入多个整数,个数不限。当输入"end"字符串时结束输入。 输出格式: 输出列表中的最大值及其索引号。比如:最大值为56,索引号为2。 当输入"end"字符串时结束输入。 若输入了非“end”及非数字的字符串,程序提示"输入了非数字,数字格式转换异常"。 若没有输入数字,程序提示"无数据输入"。
下面是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开始计算。
阅读全文