我是小白 刚刚学习java 有个数组的问题 哪个兄弟帮忙解决一下
问题如下
现在有一个数组arr[],在键盘输入一个数组中的元素,然后怎么返回元素所在数组中的位置
例如 arr[0] = 1,用键盘输入1,之后输出:1在数组的位置是0。

解决方案 »

  1.   

    循环查找肯定可以,用输入流得到键盘所输入的字符,用arr.length遍历数组,然后返回所在位置就可以。
    更简单的方法我不清楚。希望有所帮助。
      

  2.   

    以数组类型为int举例
    int arr[] = {2,3,4,5,6,7,8,7,6,4};
    String str = "";
    for(int i = 0;i<arr.length;i++){
    if(arr[i] == 4){
    str = str + i + ",";
    }
    }
    System.out.println(str);
      

  3.   

    朋友别说 位置,我连排序都给你写好了public class Insert { 
    public static void main(String[] args) { 
    int[] i = {5,6,7,44,55,89,};//原来的数组 
    int x = 24;//要插入的数据 
    System.out.print("插入前数据: "); 
    print(i); 
    i=insert(i,x); 
    System.out.print("插入["+x+"]后数据: "); 
    print(i); 

    /**遍历并打印出数组中的数据*/ 
    private static void print(int[] a){ 
    for(int i=0; i<a.length; i++) 
    System.out.print(a[i]+", "); 
    System.out.println();//换行 

    /**插入数据并重新排序的方法*/ 
    private static int[] insert(int[] a,int in){ 
    int[] copy = new int[a.length+1];//新建一个临时数组,长度比原数要大1 
    copy[0]=in;//先将要插入的数据放入第一单元格 
    //原来数组中的数复制过来,存在第二格为开始的单元格中 
    for(int i=0; i<a.length; i++) 
    copy[i+1]=a[i]; 
    //对临时数组重新排序 
    for(int i=0; i<copy.length-1; i++) 
    //如果前一数据大于后一数据,就进行交换. 
    if(copy[i]>copy[i+1]){ 
    copy[i]+=copy[i+1]; 
    copy[i+1]=copy[i]-copy[i+1]; 
    copy[i]-=copy[i+1]; 
    i-=i==0?1:2;//逐级上溯 

    //返回临时数组,任务完成 
    return copy; 


      

  4.   

    这个遍历数组应该不麻烦吧,LZ是想知道怎么获取键盘输入吧?
    比如是个整形值 可以
    import java.util.Scanner;
    .......
    Scanner scanner=new Scanner(System.in);
    int num=scanner.nextInt();
    num就是键盘输入的整型值了