Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从使用java的方法返回子字符串_Java_String - Fatal编程技术网

从使用java的方法返回子字符串

从使用java的方法返回子字符串,java,string,Java,String,在java中有没有从字符串返回子字符串的方法? 例如,如果我有一个字符串:aadaa 它应该会返回给我:{a,a,d,a,a,aa,ad,aa,aad,ada,daa..} 这是我的代码: String substring(String str1) { //String sbs=""; int len=str1.length(); for (int i=0;i<len;i++) { for (int j=i+1;j<=len;j++

在java中有没有从字符串返回子字符串的方法? 例如,如果我有一个字符串:aadaa 它应该会返回给我:{a,a,d,a,a,aa,ad,aa,aad,ada,daa..} 这是我的代码:

String substring(String str1)
{ 
    //String sbs="";
    int len=str1.length();

    for (int i=0;i<len;i++)
    {
        for (int j=i+1;j<=len;j++)
        {
            return(str1.substring(i, j));

        }

    }
字符串子字符串(字符串str1)
{ 
//字符串sbs=“”;
int len=str1.length();

对于(int i=0;i要使用Java获取给定
字符串的所有子字符串,可以使用以下
getsubstrings
方法:

public static ArrayList<String> GetSubstrings(String str) {

    // set up any substring and add it to the ArrayList
    ArrayList<String> subStrings = new ArrayList();
    for (int i = 0; i < str.length(); ++i) {
        for (int j = 1; j <= str.length() - i; ++j) {
            subStrings.add(str.substring(i, i + j));
        }
    }

    return subStrings;
}
publicstaticarraylistgetsubstring(stringstr){
//设置任何子字符串并将其添加到ArrayList
ArrayList子字符串=新的ArrayList();
对于(int i=0;i对于(int j=1;jAsoRole的答案,如果您不想要重复的值,只需将列表更改为HashSet即可。因为Java Set不包含重复的值

public static HashSet<String> GetSubstrings(String str) {

    // set up any substring and add it to the ArrayList
    HashSet<String> subStrings = new HashSet();
    for (int i = 0; i < str.length(); ++i) {
        for (int j = 1; j <= str.length() - i; ++j) {
            subStrings.add(str.substring(i, i + j));
        }
    }

    return subStrings;
}
publicstatichashset getsubstring(stringstr){
//设置任何子字符串并将其添加到ArrayList
HashSet substring=新HashSet();
对于(int i=0;i对于(int j=1;j)你想做什么,你能举例说明吗?一个字符串有许多不同的子字符串。你想要哪个子字符串?@Sweeper I want all你想要任何给定字符串的所有可能的子字符串组合吗?谢谢,但是如果字符串是“aaaa”,程序会失败为什么您认为它会失败?它也会返回所有的子字符串,但也有重复的子字符串,就像在您的问题示例中一样。如果您不想重复值,请使用HashSet而不是ArrayList作为Trần Nam Trung建议。
package com.company;

import java.util.ArrayList;

public class Main {

    public static void main(String[] args) {

        // stores all substrings
        ArrayList<String> subStrings = new ArrayList();

        // call method to get all substrings
        subStrings = GetSubstrings("Test");
    }    

    public static ArrayList<String> GetSubstrings(String str) {

        // set up any substring and add it to the ArrayList
        ArrayList<String> subStrings = new ArrayList();
        for (int i = 0; i < str.length(); ++i) {
            for (int j = 1; j <= str.length() - i; ++j) {
                subStrings.add(str.substring(i, i + j));
            }
        }

        return subStrings;
    }
}
public static HashSet<String> GetSubstrings(String str) {

    // set up any substring and add it to the ArrayList
    HashSet<String> subStrings = new HashSet();
    for (int i = 0; i < str.length(); ++i) {
        for (int j = 1; j <= str.length() - i; ++j) {
            subStrings.add(str.substring(i, i + j));
        }
    }

    return subStrings;
}