A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 睡不够的猪 中级黑马   /  2013-9-6 15:19  /  1469 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 睡不够的猪 于 2013-9-6 19:43 编辑

定义一个功能 查找某个数组中是否有某个元素,如果有 就打印出“该数组中有(这个元素)”
                如果没有 就打印出“该数组中没有(这个元素)”

问题:当某个元素不存在于数组中时  如何输出呢

我的代码是这样写的:
                       public static void pd(int[] shuzu,int key)   
                        {
                                           for(int x=0;x<shuzu.length;x++)
                                           {
                                                         if(shuzu[x]==key)
                                                         System.out.println("该数组中有"+key);
                                                        下面没有的的时候 代码应该怎么编写呢??? 或者说这样编写代码就是错误的,该怎么编写呢???
                                          }
  
                        }

评分

参与人数 1技术分 +1 收起 理由
薛鹏鹏 + 1

查看全部评分

10 个回复

倒序浏览
        public static int searchCharIndex(char[] chs, char c) {
                int index = -1;// 要查找的字符在数组中的位置
                if (chs == null) { // 如果数组为null,则抛出IllegalArgumentException
                        new IllegalArgumentException("传入的数组为null").printStackTrace();
                } else { // 如果不为null,则开始查找字符在数组中的位置
                        for (int i = 0; i < chs.length; i++) {
                                if (c == chs[i]) {
                                        index = i;
                                }
                        }
                }
                return index;
        }

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
  1. public static void pd(int[] shuzu,int key)   
  2. {
  3.         for(int x=0;x<shuzu.length;x++)
  4.         {
  5.                 if(shuzu[x]==key)
  6.                 {
  7.                         System.out.println("该数组中有"+key);
  8.                         return;
  9.                 }
  10.         }
  11.         System.out.println("该数组中没有"+key);
复制代码

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
     public static void pd(int[] shuzu,int key)   
                        {      
boolean isExist=false;
   for(int x=0;x<shuzu.length;x++)
                                           {
                                                               if(shuzu[x]==key)
         {
              System.out.println("该数组中有"+key);
               isExist=true;
          }
}
if(isExist==false)
system.println("不存在")
}

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报

这个看懂了 而且也可以 另外的目前还看不懂 谢谢大家!
回复 使用道具 举报
public static void pd(int[] shuzu,int key)   
                        {
                                           for(int x=0;x<shuzu.length;x++)
                                           {
                                                         if(shuzu[x]==key){
                                                         System.out.println("该数组中有"+key);
                                                         return;
                                                         }
                                                     //*  下面没有的的时候 代码应该怎么编写呢??? 或者说这样编写代码就是错误的,该怎么编写呢???*/
                                          }
  System.out.println("该数组中没有"+key);
                        }

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 mo﹎雲℡ 于 2013-9-6 17:52 编辑
  1. public class CharAtTest {
  2.         public static void main(String[] args) {
  3.                 int[] array = { 1, 3, 35, 7 };
  4.                 int key = 3;
  5.                 CharAt4(array, key);
  6.                
  7.         }

  8.         // 对于这个函数,"该数组中有"+array[x] 这句话会随着for循环一直循环,比建议使用此方法
  9.         public static void CharAt1(int[] array, int key) {
  10.                 for (int x = 0; x < array.length; x++) {
  11.                         if (key == array[x]) {
  12.                                 System.out.println("该数组中有" + array[x]);
  13.                         } else {
  14.                                 System.out.println("该数组没有" + key + "元素");
  15.                         }
  16.                 }
  17.         }
  18.         //使用while循环来检查,里面使用if判断
  19.         public static void CharAt2(int[] array, int key) {
  20.                 int i = 0;
  21.                 while (i < array.length) {
  22.                         if (key == array[i]) {
  23.                                 System.out.println("该数组中有" + array[i]);
  24.                                 break;
  25.                         }
  26.                         i++;
  27.                 }
  28.         }
  29.         //使用String类中的方法indexOf()
  30.         public static void CharAt3(int[] array, int key){
  31.                 String s = String.valueOf(array);
  32.                 String k = String.valueOf(key);
  33.                 int index = -1;
  34.                 if((index = s.indexOf(k))!=-1){
  35.                         System.out.println("该数组中有"+k);
  36.                 }
  37.         }
  38.         //使用String类中的方法contains()
  39.         public static void CharAt4(int[] array, int key){
  40.                 String s = String.valueOf(array);
  41.                 String k = String.valueOf(key);
  42.                 if(s.contains(k)){
  43.                         System.out.println("该数组中有"+k);
  44.                 }
  45.         }

  46. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
public static void pd(int[] shuzu,int key)   
                        {                                                int count=0;
                                           for(int x=0;x<shuzu.length;x++)
                                           {
                                                         if(shuzu[x]==key){
                                                         count++;                                                        
                                                      }
                                          }
                                                 System.out.println("当前数组中有"+count+"个"+key);
  
                        }

回复 使用道具 举报
public static void pd(int[] shuzu,int key)   
{
        for(int x=0;x<shuzu.length;x++)
        {
                if(shuzu[x]==key)
                {
                        System.out.println("该数组中有"+key);
                        return;
                }
        }
        System.out.println("该数组中没有"+key);
}

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
楼主你好!如果您的问题已经解决了,

请您把问题的未解决更改为已解决

谢谢合作!

回复 使用道具 举报
杨增坤 发表于 2013-9-6 18:04
楼主你好!如果您的问题已经解决了,
请您把问题的未解决更改为已解决!
谢谢合作!

已经修改 谢谢提醒! 以后会记住的。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马