当前位置: 代码迷 >> Java相关 >> 查找字符串,编译通过了,可是运行不行,大家帮着找找哪里需要改动
  详细解决方案

查找字符串,编译通过了,可是运行不行,大家帮着找找哪里需要改动

热度:117   发布时间:2009-10-11 09:42:46.0
查找字符串,编译通过了,可是运行不行,大家帮着找找哪里需要改动
public class FindString
{
    public static void main(String[] args)
    {
        String string1="I don't wanna say goodbye to you";
        int len=string1.length();
        int j=17;
        int i=9;
        int k=0;
        char []a=new char[len];
        
        a[0]=string1.charAt(i);
        
        
        for( ; i<=j ; i++){
            for(;;k++){
              a[k]=string1.charAt(i);
            }
        }
        String string2=new String(a);
        System.out.println("the char at "+i+" is:"+a[0]);//字符查找
        System.out.println("the string from"+i+"to"+j+"is:");//串查找
        System.out.println(string2);


    }
}


--------------------Configuration: <Default>--------------------
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 32
    at FindString.main(FindString.java:17)

Process completed.
搜索更多相关的解决方案: 编译  运行  字符  

----------------解决方案--------------------------------------------------------
补充下,经过我的修改变成这样,但是获取子串的结果还是有问题
public class FindString
{
    public static void main(String[] args)
    {
        String string1="I don't wanna say goodbye to you";
        int len=string1.length();
        int j=17;
        int i=9;
        char []a=new char[len];
        
        a[0]=string1.charAt(i);
        
        String string2=new String(a);
        String string3=string2.substring(i,j);
        
        System.out.println("the char at "+i+" is:"+a[0]);//获取字符
        System.out.println("the string from"+i+"to"+j+"is:");//获取子串
        System.out.println(string3);


    }
}



--------------------Configuration: <Default>--------------------
the char at 9 is:a
the string from9to17is:

Process completed.


----------------解决方案--------------------------------------------------------
~~~~楼主多看看API文档吧,String下已经有现成的方法调用的了
----------------解决方案--------------------------------------------------------
  相关解决方案