问题描述:
该问题分为两个阶段。
第一阶段,输入数据。
从键盘输入若干个正整数,直至输入0或负整数为止,即输入的正整数的个数不确定,可能0个,1个,100个,1000000000个,乃至更多。
第二阶段,查询数据。
从键盘输入一个正整数,查询该正整数是否在第一阶段输入的数据中。进行若干次查询,直至输入0或负整数为止。
输入的数存放在数组中或者集合中。
输入完成后,接收要寻找的目标数。
遍历数组或者集合匹配。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
List<Integer> list=new ArrayList<>();
System.out.println("输入多个正整数:");
while (true){
int num=in.nextInt();
if (num<=0){
break;
}
list.add(num);
}
System.out.println("输入待查询数据:");
while (true){
int targetNum=in.nextInt();
if (targetNum<=0){
break;
}
boolean flag = list.contains(targetNum);
if (flag){
System.out.println(targetNum+" 在第一阶段数据中");
}else{
System.out.println(targetNum+" 不在第一阶段数据中");
}
}
}
}