定义一个方法listTest(ArrayList al, Integer s),要求返回s在al里面第三次出现的索引,如果没有第三个s返回-1。通过键盘输入int类型数据,存储至Arraylist中,测试listTest方法是否正确。用java写出
时间: 2024-12-02 22:27:58 浏览: 25
你可以使用Java编写一个简单的`listTest`方法,结合ArrayList的遍历功能来找到给定元素的第三次出现。下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 创建ArrayList并添加数据
ArrayList<Integer> al = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入整数,直到输入-1结束:");
while (true) {
int num = scanner.nextInt();
if (num == -1) break; // 输入-1停止输入
al.add(num);
}
scanner.close();
// 调用listTest方法
int index = listTest(al, 0); // 假设我们要找的是第一个元素(0),替换为你需要查找的元素
// 输出结果
if (index != -1) {
System.out.println("元素在数组中的第三次出现索引为: " + index);
} else {
System.out.println("元素未找到第三次出现");
}
}
/**
* 查找指定元素在ArrayList中的第三次出现的索引
* @param al ArrayList实例
* @param s 需要查找的元素
* @return 第三次出现的索引,若不存在则返回-1
*/
public static int listTest(ArrayList<Integer> al, int s) {
for (int i = 0, count = 1; i < al.size(); i++) {
if (al.get(i) == s) {
count++;
if (count == 3) return i;
} else {
count = 1; // 如果不是目标元素,重置计数器
}
}
return -1;
}
}
```
在这个代码里,我们首先创建了一个ArrayList `al`,然后通过Scanner获取用户输入并添加到列表中。接着,我们在`main`函数中调用`listTest`方法,并打印结果。`listTest`方法内部遍历ArrayList,统计元素`s`出现的次数,一旦达到3次就返回当前的索引。
阅读全文