java 数组 相关问题 ,如何获取数组名或判断是否属于该数组

比如一个叫NUM1的数组,里面有1、2、3、4、5这几个数字,另一个叫NUM2的数组,里面包含6、7、8、9、10;能不能实现这样的算法?输入5就会显示归属于NUM1这个... 比如一个叫NUM1的数组,里面有1、2、3、4、5这几个数字,另一个叫NUM2的数组,里面包含6、7、8、9、10;能不能实现这样的算法?输入5就会显示归属于NUM1这个数组,输入9就会判断并显示属于NUM2这个数组。最好能逆查,像是看一个数组里到底包含那些内容。 展开
 我来答
ylongshao1987
2011-04-25 · TA获得超过9811个赞
知道小有建树答主
回答量:1277
采纳率:100%
帮助的人:710万
展开全部
给你两个解决方案
第一种:定义两个boolean变量inA,inB,初始值均为false,然后遍历数组A和B,如果输入数值在A中有相等的值,那么inA=true,如果在B中有相等的值,则inB=true。最后判断inA和inB的值就可以了,代码如下:
import java.util.Scanner;

public class OperaArray {

public static void main(String[] args) {

int[] A={1,2,3,4,5};
int[] B={6,7,8,9,10};
Integer cin=Integer.valueOf(new Scanner(System.in).next());
boolean inA=false;
boolean inB=false;
for(int i=0;i<A.length||i<B.length;i++){
if(cin==A[i]){
inA=true;
}else if(cin==B[i]){
inB=true;
}
}
if(inA==true){
System.out.println(cin+"在A数组中");
}
if(inB==true){
System.out.println(cin+"在B数组中");
}
}

方案2:使用list的contains方法:先把数组转化为列表
int[] A={1,2,3,4,5};
int[] B={6,7,8,9,10};
Integer cin=Integer.valueOf(new Scanner(System.in).next());
List<Integer> list1=new ArrayList<Integer>();
List<Integer> list2=new ArrayList<Integer>();
for(int i=0;i<A.length;i++){
list1.add(Integer.valueOf(A[i]));
}
for(int i=0;i<B.length;i++){
list2.add(Integer.valueOf(B[i]));
}

if(list1.contains(cin)){
System.out.println(cin+"在数组A中");
}else if(list2.contains(cin)){
System.out.println(cin+"在数组B中");
}else{
System.out.println(cin+"不存在于这两个数组中");
}

}

}
fkuewfnh520
2011-04-24
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
可以,告诉你思路吧,就是首先,声明两个数组,这是必须的,后面就要利用循环,再到循环体里加入if语句,条件是:如果输入的数==num1[i],i指循环里的可变变量,条件成立就在控制台显示该数属于num1数组,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
stormagic
2011-04-23 · TA获得超过518个赞
知道小有建树答主
回答量:774
采纳率:0%
帮助的人:623万
展开全部
你可以用java里面的集合来解决这个问题非常简单。就是java里面的set类。
直接就可以调用set提供的函数,来实现判断一个数是否存在等等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿红逻04
2011-04-23
知道答主
回答量:20
采纳率:0%
帮助的人:0
展开全部
public class ListText {

public static void main(String[] args) {
int[] a=new int[]{1,2,3,4,5};
int[] b=new int[]{6,7,8,9,10,11};

System.out.println("请输入数字");
Scanner input=new Scanner(System.in);
int num=input.nextInt();
for(int i=0;i<a.length||i<b.length;i++){
if(i<a.length){
if(num==a[i]){
System.out.println("该数字在a数组里");
break;
}
}else if(num==b[i]){
System.out.println("该数字在b数组里");
break;
}
}
}

}
追问
B数组无法显示结果。输入1、2、3、4、5可以显示属于数组A,输入6、7、8、9、10、11就什么都不显示了
追答
import java.util.Arrays;
import java.util.Scanner;

public class ListText {

public static void main(String[] args) {
int[] a = new int[] { 1, 2, 3, 4, 5 };
int[] b = new int[] { 6, 7, 8, 9, 10, 11 };

System.out.println("请输入数字");
Scanner input = new Scanner(System.in);
int num = input.nextInt();
if (Arrays.binarySearch(a, num) >= 0) {

System.out.println("该数字在a数组里");
} else if (Arrays.binarySearch(b, num) >= 0) {

System.out.println("该数字在b数组里");
} else {
System.out.println("都不在");
}

}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式