您的位置:首页 > 编程语言 > Java开发

Java打印一个字符串的所有字串

2014-04-09 23:12 190 查看
使用了两种方式,一种双重for循环,一种是改进后的递归调用

/**
* <pre>
* 需求:给出一个字符串,取出属于这个字符串的所有字串。
* 例如:abc 字串:a、ab、abc、b、bc、c
*
* 分析: 规律: a、ab、abc b、bc c
* 1.接收一个字符串
* 2.以第一个字符为首,依次加1向后取字串,最多加到字符串长度减1,输出
* 3.截取第一位之后的所有字符串
* 4.循环2、3步
* </pre>
*/

public class GetAllSubstring {

public static void main(String[] args) {
String str = "abcd";
// getAllSubstring(str);
getAllSubstring1(str);

// System.out.println("---"+str.substring(4)+"---");
}

// 双重for循环
public static void getAllSubstring(String str) {
int str_length = str.length();
String str_t;
for (int j = 0; j < str_length; j++) {
str_t = str.substring(j);
for (int i = 0; i < str_t.length(); i++) {
System.out.println(str_t.substring(0, i + 1));
}
}
}

// 递归调用
public static void getAllSubstring1(String str) {
if (str.length() > 0) {
for (int j = 0; j < str.length(); j++) {
System.out.println(str.substring(0, j + 1));
}
getAllSubstring(str.substring(1));
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐