题目:请在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法。import java.util.*;public class TestFindChar2 {
public static void main(String[] args) {
char[] cr = new char[args.length];

String str="";
          //把args数组转换成字符窜str。
  for(int i=0;i<args.length;i++){
   str = str+args[i];
  }
  System.out.println(str);
        
                //把字符窜的每一个元素用charAt方法转换成char类型后,赋给cr(char类型)数组。
for(int i=0;i<args.length;i++) {
cr[i] = str.charAt(i);
}


Scanner scn = new Scanner(System.in);
System.out.println("输入索引字符:");
int cc = scn.nextInt();  //cc为要索引的char字符

for(int i=0;i<cr.length;i++) {
if(cr[i]==cc) {
System.out.println(cc+"位与数组的第"+i+"位");
break;
}
else{continue;}
}
}
}编译可以通过,但是运行有问题。还有觉得程序最后的 else{continue;}中,{}里面写的很垃圾,但是不知道怎么写好~

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【jing61281125】截止到2008-07-24 20:30:06的历史汇总数据(不包括此帖):
    发帖的总数量:6                        发帖的总分数:120                      每贴平均分数:20                       
    回帖的总数量:46                       得分贴总数量:7                        回帖的得分率:15%                      
    结贴的总数量:6                        结贴的总分数:120                      
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

    改了下你的。应该ok了吧。
    import java.util.*;public class TestFindChar2 {
        public static void main(String[] args) {
            char[] cr = new char[args.length];
            
            String str="";//把args数组转换成字符窜str。
          for(int i=0;i<args.length;i++){
              str = str+args[i];
          }
          System.out.println(str);
                
                    //把字符窜的每一个元素用charAt方法转换成char类型后,赋给cr(char类型)数组。
            for(int i=0;i<str.length();i++) {//args.length应该是不对的,那个只是args数组的长度
                cr[i] = str.charAt(i);
            }
                           
            Scanner scn = new Scanner(System.in);
            System.out.println("输入索引字符:");
            int cc = scn.nextInt();  //cc为要索引的char字符
            
            for(int i=0;i<cr.length;i++) {
                if(cr[i]==cc) {
                    System.out.println(cc+"位与数组的第"+i+"位");
                    break;
                }
    //            else{continue;} 感觉这句话没什么用,是想让系统说点什么?
            }
            scn.close();//关闭此扫描器。
        }
    }
      

  3.   


    那台不方便了,如果就是不想输入ASC码,怎么改?
      

  4.   

    给你举个例子
    char[] cr = {'a','b'};         
            Scanner scn = new Scanner(System.in);
            System.out.println("输入索引字符:");
            char cc = scn.next().charAt(0);  //cc为要索引的char字符
            
            for(int i=0;i<cr.length;i++) {
                if(cr[i] == cc) {
                    System.out.println(cc+"位与数组的第"+i+"位");
                    break;
                }
            }
    这样就好了
      

  5.   


    行啦~谢谢你的方法啦!!
    我是搞错了。。不应该是 int cc的。。要得到的是个char类型的~万分感谢!