为了账号安全,请及时绑定邮箱和手机立即绑定

求问这个程序哪里有问题?

求问这个程序哪里有问题?

比较小的小吉他 2017-01-11 11:40:37
Binary String Matching时间限制:  3000  ms  |  内存限制:  65535  KB 难度:  3描述Given two strings A and B, whose alphabet consist only ‘0’ and ‘1’. Your task is only to tell how many times does A appear as a substring of B? For example, the text string B is ‘1001110110’ while the pattern string A is ‘11’, you should output 3, because the pattern A appeared at the posit 输入The first line consist only one integer N, indicates N cases follows. In each case, there are two lines, the first line gives the string A, length (A) <= 10, and the second line gives the string B, length (B) <= 1000. And it is guaranteed that B is always longer than A.输出For each case, output a single line consist a single integer, tells how many times do B appears as a substring of A.import java.util.Scanner;      public class Main {       public static void main(String[] args) {           Scanner input = new Scanner(System.in);           int N = input.nextInt();           String s1,s2;                           for(int i =0;i<N;i++){          s1=input.next();          s2=input.next();          if(s1.length()>s2.length()||s1.length()>10||s2.length()>1000){          System.out.println("Wrong!");          break;          }                   else          System.out.println(count(s1,s2));         }     }     public static int count(String s1,String s2){      int num=0;           for(int i= 0;i<s2.length()-1;i++){      for(int j= i+1;j<s2.length();j++){      if(s2.substring(i, j)==s1)      num++;      }      }           return num;     } }
查看完整描述

3 回答

已采纳
?
拟人

TA贡献37条经验 获得超15个赞

s2.substring(i, j)==s1,这句话有问题,.substring(start,end)表示的是开始到结束的下标位置

如果你是想比较a在b匹配的个数的的话,那么每次a的长度是不变的,可以选择.substr(start,number)

表示的是开始位置,和要截取的字符串长度


===========================================================

貌似回答的有点问题,java里没有.substr()方法,可以用.substring(start,start+number)代替

查看完整回答
反对 回复 2017-01-11
?
蜂之谷

TA贡献564条经验 获得超863个赞

 字符串比较不能用== 要用equals

if(s2.substring(i, j).equals(s1))


查看完整回答
1 反对 回复 2017-01-11
  • 3 回答
  • 0 关注
  • 1251 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信