问题描述:
该问题分为两个阶段。
第一阶段,输入数据。
从键盘输入若干个正整数,直至输入0或负整数为止,即输入的正整数的个数不确定,可能0个,1个,100个,1000000000个,乃至更多。
第二阶段,查询数据。
从键盘输入一个正整数,查询该正整数是否在第一阶段输入的数据中。进行若干次查询,直至输入0或负整数为止。
用Java编程语言实现。
问题描述:
该问题分为两个阶段。
第一阶段,输入数据。
从键盘输入若干个正整数,直至输入0或负整数为止,即输入的正整数的个数不确定,可能0个,1个,100个,1000000000个,乃至更多。
第二阶段,查询数据。
从键盘输入一个正整数,查询该正整数是否在第一阶段输入的数据中。进行若干次查询,直至输入0或负整数为止。
用Java编程语言实现。
思路:用循环将你需要的数据存储进集合中,再通过遍历集合查询是否存在第二阶段的数据
代码如下:
import java.util.ArrayList;
import java.util.Scanner;
public class 输入数据和查询数据 {
public static void main(String[] args) {
// TODO Auto-generated method stub Scanner sc=new Scanner(System.in);
//第一阶段:键盘录入数据
ArrayList array=new ArrayList();//创建array集合对象
System.out.println("请输入数据,每输入一个数据请按回车");
for(int i=0;;i++) {
int input=sc.nextInt();
if(input>0) {
array.add(input);//将用户输入的数据放进array集合中
continue;
}
else {
System.out.println("你输入的数据出现0或负数,输入结束!");
break;
}
}
for(int m=0;m<array.size();m++) {
//遍历集合array
System.out.print(array.get(m)+" ");
}
//第二阶段:查询数据
System.out.println();
System.out.println("请输入您需要查询的数据");
for(int k=0;;k++) {
int querty=sc.nextInt();
if(querty>0) {
for(int m=0;m<array.size();m++) {
//遍历集合array
if(querty==array.get(m)) {
System.out.println("您要查询的数据在集合中存在");
break;
}
else {
if(m==array.size()-1) {
System.out.println("查无此数据!"); }
else {
continue;
}
}
}
}
else {
System.out.println("你输入的查询数据中存在0或负数,查询结束!");
break; }
}
}
}