黑马程序员技术交流社区

标题: 查找 打印问题 [打印本页]

作者: 睡不够的猪    时间: 2013-9-6 15:19
标题: 查找 打印问题
本帖最后由 睡不够的猪 于 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);
                                                        下面没有的的时候 代码应该怎么编写呢??? 或者说这样编写代码就是错误的,该怎么编写呢???
                                          }
  
                        }

作者: .....淡定    时间: 2013-9-6 15:24
        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;
        }
作者: xiaoxu    时间: 2013-9-6 15:25
  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);
复制代码

作者: 风叶漂    时间: 2013-9-6 15:37
     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("不存在")
}

作者: 睡不够的猪    时间: 2013-9-6 15:45
xiaoxu 发表于 2013-9-6 15:25

这个看懂了 而且也可以 另外的目前还看不懂 谢谢大家!
作者: 赵凯    时间: 2013-9-6 15:50
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);
                        }
作者: mo﹎雲℡    时间: 2013-9-6 17:49
本帖最后由 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. }
复制代码

作者: 杨增坤    时间: 2013-9-6 18:02
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);
  
                        }


作者: 胡志翔    时间: 2013-9-6 18:03
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);
}
作者: 杨增坤    时间: 2013-9-6 18:04
楼主你好!如果您的问题已经解决了,

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

谢谢合作!


作者: 睡不够的猪    时间: 2013-9-6 19:45
杨增坤 发表于 2013-9-6 18:04
楼主你好!如果您的问题已经解决了,
请您把问题的未解决更改为已解决!
谢谢合作!

已经修改 谢谢提醒! 以后会记住的。。。





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