Java中查找输入的数是否在数组中存在,存在则返回第一次出现的位置。

例如

int array[][] = { { 11, 22, 33, 44 }, { 22, 98, 70, 56 },{ 11, 45, 35, 25 } };
输入11
结果只输出0 0
解决后给分

线性查找。
public class Test1 {
public static void main(String[] args) {
int[][] array= { { 11, 22, 33, 44 }, { 22, 98, 70, 56 },{ 11, 45, 35, 25 } };
System.out.println(find(array,11));
}
public static String find(int[][] a,int sk){
int i=0;
int j=0;
for(i=0;i<a.length;i++){
for(j=0;j<a[i].length;j++){
if(a[i][j]==sk){
break;}
}
break;}
if(i<a.length&&j<a[i].length){
return i+" "+j;
}else return "Not find";
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-05
方法和LSD的朋友其实是差不多的
class BaiDu
{
public static void main(String[] args)
{
int arr[][] = { { 11, 22, 33, 44 }, { 22, 98, 70, 56 },{ 11, 45, 35, 25 } };
int num=25;
System.out.println(find(arr,num));
}
public static String find(int[][] arr,int num){
String res="NO FOUND";
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
if(num==arr[i][j]){
res=i+","+j;
return res;
}
}
}
return res;
}
}本回答被网友采纳
第2个回答  2012-08-05
00是11在数组的位置,即array[0][0]=11,所以返回值是该数组的下标。
第3个回答  2012-08-05
数组的下标是从0开始,这一点要注意。
第4个回答  2012-08-05
无线网不给力,掉了,割了半小时才连上。
int array[][] = { { 11, 22, 33, 44 }, { 22, 98, 70, 56 },
{ 11, 45, 35, 25 } };
System.out.println("输入一个数:");
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
if (array[i][j]==n) {
System.out.println(i+" "+j);
}
}
}
输入11可以得到两个结果

Java中查找输入的数是否在数组中存在,存在则返回第一次出现的位置。
线性查找。public class Test1 { public static void main(String[] args) { int[][] array= { { 11, 22, 33, 44 }, { 22, 98, 70, 56 },{ 11, 45, 35, 25 } };System.out.println(find(array,11));} public static String find(int[][] a,int sk){ int i=0;int j=...

...如存在,返回该字符在数组中第一次出现的位置,否则返回-1.
public class Test { public static void main(String[] args) { String[] arr=new String[]{"a","b"};System.out.println(find(arr, "c"));} public static int find(String[] arr,String str){ boolean flag=false;for (int i = 0; i < arr.length; i++) { if (arr[i].eq...

java 从控制台输入一个 检查在一个数组中是否有这个数字,并输出这个数 ...
4,5,5,8,9};for(int i = 0 ; i < array.length ; i++){if(number == array[i]){numbers = i+1;System.out.println("输入的数字在数组的"+numbers+"位置");

java先输入一个数组,再输入一个数,对应它在数组中的位置,如果存在,输出...
import java.util.Scanner;public class test{ public static void main(String[] args) { int x[]={-6,-5,3,88,123};try { System.out.print("请输入欲搜寻的资料:");int num = new Scanner(System.in).nextInt();if (num==-9999) { System.out.println("程序结束!");}else{ f...

java中怎么判断一个字符串是否存在数组中
有2种方法,第一种就是直接循环数组,逐个进行判断。第二种就是先将数组转换成list,再使用list的contains方法进行匹配判断。String[] arrStr = {"aser", "abc"};for (String str : arrStr) { if (str.contains("abc")) { return true;} } public static void main(String[] args) { St...

Java中如何判断一个字符串是否存在于一个字符串数组,最后输出是数组中的...
public static void main(String[] args) { String str[] = {"abcdefgbc","bvc","ab"};String substr = "bc";for(int i=0;i<str.length;i++)if(str[i].equals(substr)){ System.out.println("存在,且位于数组第"+(i+1)+"个位置");break;} else if(i==str.length-1)System....

Java中怎么比较输入的数组是否被已知数组包含
int[] aryB) {\/\/ 为空,或者A数组长度小于B数组返回falseif (aryA == null || aryB == null || aryA.length < aryB.length) {return false;}boolean[] flags = new boolean[aryA.length];\/\/ 用于标记A数组的元素是否被使用int findTimes = 0;\/\/ 相同元素的个数for (int i = 0; ...

java怎么得到一个元素在数组中的位置?
最简单的办法是遍历数组,检查每一个元素。\\x0d\\x0aint i=0; \\x0d\\x0afor(;i<array.length;i++)\\x0d\\x0a if(array[i]==num)\\x0d\\x0a break; \\x0d\\x0ai 就是该元素在数组中第一次出现的位置(元素可能重复出现)。

判断字符串是否存在数组中java编程
import java.util.Scanner;public class test{ private static void input(){ int num;boolean bFlage = false;String str[] = new String[10000],strTemp;try {\/\/输入的如果不是数字会有异常(运行中的错误),所以用try...catch语句 \/\/确定字符串数组的元素个数 System.out.print("请输入字符...

编写一个函数,在一个整数查找某个整数,若存在,则返回在序列中的位置,否...
import java.util.Scanner;public class array { public static void main(String[] args) { \/\/ TODO Auto-generated method stub \/\/ 获取从控制台console输入的值;Scanner sc = new Scanner(System.in);System.out.println("请输入要查询的数字:");String kReceive = sc.nextLine();\/\/ 执行...

相似回答