日期:2014-05-20  浏览次数:20686 次

子串

import java.io.*;
public class zichuan {

    
    public static void  main (String[] args)throws IOException {
    
     String a,b;
     BufferedReader bin=new BufferedReader(new InputStreamReader(System.in));
    
     a=bin.readLine();
     b=bin.readLine();
     int c = b.indexOf(a);
     if(c<0){
    
       System.out.println("不是子串");}
        else{
        
        System.out.println("子串");
     }
}
    
}


我的子串判断哪里写错了 望纠正
------最佳解决方案--------------------
LZ应该自己多看看API       java.lang.String类 indexof(String str)这个方法表示 返回第一次出现的指定子字符串str在此字符串中的索引
------其他解决方案--------------------
判断上没错,indexOf或contains方法都可以判断
问题是你从文件读出来的时候,要保证文件有数据,如果没有的话,a或b就有可能是null,所以稳妥的做法是判断a,b不是null,再判断是不是子串


------其他解决方案--------------------
我现在输出来一直是非子串  我写2个ABC 还是这样 怎么回事
------其他解决方案--------------------
8好意思,看错了,不是从文件读,而是系统输入,这样应该没有null,只有Empty,应该没关系
话说,LZ是想判断谁是谁的子串?

------其他解决方案--------------------
我要判断 第一个是否是第二个的子串
------其他解决方案--------------------
引用:
我要判断 第一个是否是第二个的子串

那应该没问题的,LZ可以a和b打印出来看看
------其他解决方案--------------------
abcabc
abcabcabcabc
不是子串

Process completed.

为什么会这样
------其他解决方案--------------------
abcabcabc
abc
不是子串

Process completed.
------其他解决方案--------------------
LZ确信输入的时候没有空格?
如果没有空格,那就真的是怪了
------其他解决方案--------------------
没有啊 挨着这么近  我换布尔那个判断也是固定在一个输出上 我哪里写错了?
------其他解决方案--------------------
编码?
------其他解决方案--------------------
1楼不是吗。。。。
------其他解决方案--------------------
到底哪里错了 求指教
------其他解决方案--------------------
是否与运行参数有关?
------其他解决方案--------------------
刚运行了一下你的代码
结果
abcabc
abcabcabcabc
子串

abcabcabc
abc
不是子串