所以使用charAt()和length()我应该生成:(要添加,我也无法使用数组)
string: one,two,three, delimiter: ’,’
one
two
three
string: one,two,three, delimiter: ’o’
ne,tw
,three
string: four,,five,,six, delimiter: ’,’
four
five
six
string: four,,five,,six, delimiter: ’o’
f
ur,,five,,six
我不知道从哪一个开始,因为我发现的几乎所有东西都使用与我允许使用的方法不同的方法。我不确定我是否被允许使用.split
,但除了使用它之外别无他法。就我自己而言:
public static void main(String[] args)
{
String a = "one,two,three";
String b = "four,,five,,six";
}
public static void stringSplit(String a, String b, char del)
{
String[] deli = a.split(",");
String[] delim = b.split("o");
System.out.println("%s" + deli);
System.out.println("%s" + delim);
}`
在坚持预设的同时,我可以采取哪些步骤来解决这个问题?在没有使用与允许的不同的东西的情况下,我似乎无法在这个过程中找到任何帮助我的东西。如果能够,请不要提供帮助。永远不会知道我所做的就是复制粘贴。它必须从方法调用,函数不能返回任何东西。该方法必须具有public static void stringSplit(String s, char del)
答案 0 :(得分:1)
String[] deli = a.split(",");
String[] delim = b.split("o");
System.out.println("%s" + deli);
System.out.println("%s" + delim);
deli
和delim
为String array
。您无法直接打印数组的内容。您需要使用for-loop
(或while)迭代它们并单独打印每个元素。
for (String value : deli) {
System.out.println(value);
}
for (String value : delim) {
System.out.println(value);
}
System.out.println("%s" + deli);
此外,您正在使用println
方法,该方法将准确打印内容。如果你想使用格式方法,那么它将是这样的:
System.out.format("%s", value);
答案 1 :(得分:1)
我不确定你到底是什么,但是如果你不能使用split
方法,你可以简单地得到一个方法,它接受2个参数,要拆分的字符串和作为分隔符。一旦你有了这个,你可以迭代字符串并检查你拥有的字符是否是分隔符。如果是,则拆分并移至下一个:
public List<String> split(String source, char delimeter)
{
List<String> result = new ArrayList<>();
StringBuilder sb = new StringBuilder();
for(int i = 0; i < source.length; i++)
{
if(source.charAt(i) == delimeter)
{
result.add(sb.toString());
sb.Clear();
}
else
{
sb.append(source.charAt(i));
}
}
return result;
}
答案 2 :(得分:1)
public static void main(String[] args) {
List<String> mySplittedList = stringSplit("one,two,three", 'o');
for (String s : mySplittedList)
System.out.println(s);
}
public static List<String> stringSplit(String input, char del) {
StringBuilder temp = new StringBuilder();
List<String> mySplittedList = new ArrayList<String>();
int i = 0;
for (char c : input.toCharArray()) {
if (c == del) {
if (temp.length() > 1) {
mySplittedList.add(temp.toString());
}
temp = new StringBuilder();
} else {
temp.append(c);
}
i++;
if (i == input.toCharArray().length) {
mySplittedList.add(temp.toString());
}
}
return mySplittedList;
}
<强>输出强>
ne,tw
,three