黑马程序员技术交流社区

标题: 键盘录入一个数 判断在不在该数组,有打印出其所有的索引值 [打印本页]

作者: 懂得珍惜    时间: 2016-6-26 18:28
标题: 键盘录入一个数 判断在不在该数组,有打印出其所有的索引值
题目是:键盘录入一个数,判断存不存在该数组(不存在就继续输入),如果有打印出其所有的索引值,要求不使用collection接口的contains方法
,我不信所有人都会........下面上代码
作者: 懂得珍惜    时间: 2016-6-26 18:29
import java.util.Scanner;       
public class GetIndex {
        public static void main(String[] args) {
                //键盘录入一个数,判断存不存在该数组(不存在就继续输入),如果有打印出其所有的索引值
               
                int[] arr = { 11, 34, 22, 33, 66, 34, 33, 34, 34 };
                System.out.println("输入你要判断的数");
                Scanner sc = new Scanner(System.in);
                int i=sc.nextInt();
                getIndex(arr, i);
        }

        public static void getIndex(int[] arr, int value) {
                int[] arr2 = new int[arr.length];               

                int k = 0;
                for (int i = 0; i < arr.length; i++) {
                        if (arr[i] == value) {
                                arr2[k] = i;
                                k++;
                        }
                }

                int[] arr3 = new int[k];
                for (int i = 0; i < k; i++) {
                        arr3[i] = arr2[i];
                }

                if (k == 0) {
                        System.out.println("你输入的数不存在该数组,请重新输入");
                        Scanner sc = new Scanner(System.in);                       
                        int i=sc.nextInt();
                        getIndex(arr, i);
                       
                } else {
                        System.out.print("原始数组是:");
                        printArr(arr);
                        System.out.print("你获取的数存在,在数组中的索引值分别为:");
                        printArr(arr3);
                }

        }

        public static void printArr(int[] arr) {
                for (int i = 0; i < arr.length; i++) {
                        System.out.print(arr[i] + " ");
                }
                System.out.println();
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2