黑马程序员技术交流社区

标题: 一道数组题,请高手帮助完善第二小题 [打印本页]

作者: 怪学究    时间: 2015-5-4 23:27
标题: 一道数组题,请高手帮助完善第二小题
本帖最后由 怪学究 于 2015-5-4 23:44 编辑

package itcast;

/**
* @author hgm
*A:数组遍历
*int[] arr = {98,23,16,35,72};
*写一个对象数组操作的功能,实现把数组中的数据按照如下格式返回:
*"[98, 23, 16, 35, 72]"

*B:查找数组中指定元素第一次出现的索引值。
*int[] arr = {98,23,16,35,72};
*查找23在数组中的索引值。
*代码用Eclipse实现。
*/


//A:
public class Array {
         public static void main(String[] args) {
                        int[] arr={98,23,16,35,72};
                        printArray(arr);
        }
         public static void printArray(int[] arr) {

                System.out.print("[");
                for (int i = 0; i < arr.length-1; i++) {
                        System.out.print(arr+",");
                }
                System.out.print(arr[arr.length-1]);
                System.out.println("]");
       }
}


//B:
package itcast;
import java.util.Scanner;      //导包
public class SearchNum {
        public static void main(String[] args) {
                int[] arr={98,23,16,35,72};    //定义数组arr
                Scanner sc = new Scanner(System.in);           //键入数字num
                System.out.println("请输入数组中的一个数字num:");
                int num = sc.nextInt();
                for (int i = 0; i < arr.length; i++) {
                        if(arr==num){
                                System.out.println("该数字是数组中第"+(i+1)+"个");
                                break;
                        }
                }
        }
}

请帮忙完善第二小题:
               1  .         当输入的数字不是数组中的任一数时,输出:输入有误
               2.            将程序多次循环,当输入-1时,break。





作者: 1017161726    时间: 2015-5-4 23:37
你是想说什么的呢
作者: 怪学究    时间: 2015-5-4 23:50
1017161726 发表于 2015-5-4 23:37
你是想说什么的呢

请帮忙完善第二小题:
               1  .         当输入的数字不是数组中的任一数时,输出:输入有误
               2.            将程序多次循环,当输入-1时,break
作者: 1017161726    时间: 2015-5-5 12:49
明白了。。直接附上代码:
  1. package myPro;

  2. import java.util.Scanner;
  3. class SearchNum
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 int[] arr={98,23,16,35,72};
  8.                 Scanner sc = new Scanner(System.in);
  9.                 while (true)                //无限循环,直到指定的退出方式
  10.                 {
  11.                         System.out.println("请输入数组中的一个数字num:");
  12.                         int num = sc.nextInt();
  13.                         if (num==-1)        //定义退出方式
  14.                                 break;
  15.                         int x=0;                //定义标记
  16.                         for (int i = 0; i < arr.length; i++)
  17.                         {
  18.                                 if(arr[i]==num)
  19.                                 {
  20.                                         System.out.println("该数字是数组中第"+i+++"个");
  21.                                         x=1;        //标记值的改变
  22.                                         continue;
  23.                                 }
  24.                         }
  25.                         if (x==0)                //判断标记
  26.                                 System.out.println("输入有误,请重新输入num:");
  27.                 }
  28.                 sc.close();                        //关闭扫描器资源
  29.         }
  30. }
复制代码








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