String字元串在Java開發中是我們常用的一種數據類型,同時String字元串也為我們提供了大量的方法。通過一些實例的練習,我們可以對String字元串的方法有一個比較清楚的瞭解。 有一個字元串String s ="abcabc",這個字元串可以看成是有2個"abc"構成,即n=2,L="abc ...
String字元串在Java開發中是我們常用的一種數據類型,同時String字元串也為我們提供了大量的方法。通過一些實例的練習,我們可以對String字元串的方法有一個比較清楚的瞭解。
有一個字元串String s ="abcabc",這個字元串可以看成是有2個"abc"構成,即n=2,L="abc"。現在要求編寫一段程式,使用單例模式,輸入任意字元串s,輸出nL。比如:輸入"bbbb",輸出4b;輸入abcfg,輸出1abcfg。
編寫方法類:
package stringdemo;
public class StringTools {
private static StringTools stringTools;
//私有化構造函數,在其他類中無法創建該類對象
private StringTools() { }
//提供一個公開的靜態方法,讓外界獲取該類的唯一對象
public static StringTools getStringTools() {
if(stringTools == null ) {
stringTools = new StringTools();
}
return stringTools;
}
//編寫解決問題的方法
public String demo(String str) {
String result ="";
if (/*StringUtils.isBlank(str)*/ str == null || str.length() == 0) {
result ="你輸入為空";
} else if(str.contains(" ")) {
result = "請不要輸入空格";
} else {
int length = str.length();
int count = 0;
for (int i = 1; i <= length; i++) {
String[] strings =str.split(str.substring(0, i));
if (strings.length==0) {
count = i;
break;
}
}
result = length/count + str.substring(0, count);
}
return result;
}
}
編寫主類:
package test;
import stringdemo.StringTools;
public class StringTest {
public static void main(String[] args) {
String str = "ababab";
StringTools stringTools = StringTools.getStringTools();
String s = stringTools.demo(str);
System.out.println(s);
}
}
完成!