猿问

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

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;
    }
}


比较小的小吉他
浏览 1253回答 3
3回答

拟人

s2.substring(i, j)==s1,这句话有问题,.substring(start,end)表示的是开始到结束的下标位置如果你是想比较a在b匹配的个数的的话,那么每次a的长度是不变的,可以选择.substr(start,number)表示的是开始位置,和要截取的字符串长度===========================================================貌似回答的有点问题,java里没有.substr()方法,可以用.substring(start,start+number)代替

蜂之谷

 字符串比较不能用== 要用equalsif(s2.substring(i, j).equals(s1))

慕的地8582982

FHOMNJWMLSPAGFZPFTPICMHJTWDNRFYCZCVUVTSVWCXHMZPZCWGWCLSHDDXDPWFSFFXDGRHOOWYVSMRVEEMFJZIKZBUBKDEZPDTJYLLBLCNNYOJZFISZZWFYONXEIFFHHHKEBDGOIEEEQNGLYVVLBBVURYPLBEOUKVHOAXKOOIJMYRVYFBDXXQIIHREVXAHUNHXJNQFBLQZXNTJUKZCSRSCZKTGAXCZNHXETTWQXDPZJCTZUXAPBSLAOBONNHQZVESRZNFJJHEUUHANHKMMLBUORMGNFGDYSSCMMIMJJBRADPPJQUUBBCYKUDDANMRGTQGQWXCVPYGLXQAKKAJMZSEQTNVVRYKRVTJNNAKAMWTOJFIISGJCYVCPBXVFLVDCSWEVIUXXQNWQHEUKDDTNDPPXPJAYRONDNNNCXHRNENJSUDVKBSAXTPYOFPPPIVZTCZQXIYOZQUNQQTDCCKYQDZJFJCIPLOHRUBHRYHEUNNICIVRVCMLCVGHUTAJUNQMCJFVVBIGTCMJCDADATTILBRVLSESPHXWWMGWWJWWYESISIFRHEEOEUXBEXERLLYORKFYBLXEIYBOOZPFFLOSCFISYOYHDDONGSJSLBFFPFSVLLTJCVEYOAQZZYOHONAZHDKULRPBBRONEOPXAHNTDTLRDETMCFYLVCIGANGKHZQKBAKTJDTKRBCZZWCZCMTWJUOHGUXSMSBIEZBRCPAWQPPGILBMGHURHFLIULCSSIAQGXHNRHXODAZMGZIVLEHRXGTTBUQEYRUKPJAENATLEIFOIMFFBBZILKZJZUQXRIONCVICKQMXNNRYEVFOYMTTENKGEOSOXUUHGWSCGMLRGPJMSBLVRNDMGZMLBLUQMPZYAGKARL
随时随地看视频慕课网APP

相关分类

Java
我要回答