题目描述
给出一个非空的字符串,判断这个字符串是否由它的一个子串拼接构成的。
例如,“abcabcabc”满足条件,因为它是由“abc”首尾拼接而成的,而“abcab”则不满足条件。
输入描述
非空字符串
输出条件
如果字符串满足上述条件,则输出最长的满足条件的子串;如果不满足条件,则输出false。
输入样例
abcabc
输出样例
abc
package Test;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner s=new Scanner (System.in);
String str =s.next();
String str1,str2 ="";
Collection c = new ArrayList(); //用集合来存储截取字符串
for(int i=2;i<(str.length()/2)+1;i++) {
str1 =str.substring(0, i);
int j =(str.length())/(str1.length());
for(int k=0;k<j;k++) {
str2 =str2+str1;
}
if(str2.equals(str)) {
c.add(str1);
}
str2 ="";
}
if(c.size()==0) {
System.out.println("false");
}else
System.out.println(((ArrayList) c).get(c.size()-1));
}
}