我应该用逗号分隔用户输入的每个字符串。 例如,如果用户输入“兔子”,则应将其打印为 “ R,a,b,b,i,t”
为此,我搜索了拆分方法String.split();
我写的代码如下
import java.util.*;
class Split{
public static void main(String [] args){
Scanner input = new Scanner(System.in);
System.out.println("Enter a String");
String str= input.nextLine();
printLetters(str);
}
public static String[] printLetters (String a){
return a.split(",");
}
}
实际上,我应该使用一种接受Strings的方法来编写代码,但是当我编写String.split()
时,它说我必须使用String [],因此我只是将其更改为String []。 / p>
但是该代码没有打印任何内容。 我想知道为什么会这样,也想知道如何使用公共静态String完成此任务。
我知道有很多与此相关的帖子,但是我找不到符合要求的任何东西,这是使用公共静态字符串的。
我也没有学习过split方法,所以说实话我不应该使用它。
这是我参加计算机科学专业的第一年,我所知道的唯一是 for循环,如果还有,则为嵌套循环等。
最好不要使用split方法,但是可以使用它,因为我也对此感到好奇。
预先感谢您:)
答案 0 :(得分:2)
据我所知,您正在尝试获取一个输入字符串,并在每个字符后返回一个新的字符串,并在其中插入逗号。
String.split()
做的事情完全不同。例如,如果我有“ R,a,b,b,i,t”,则可以将String.split()与定界符,
一起使用,以获取[“ R”,“ a”,“ b” ,“ b”,“ i”,“ t”]返回。
一个简单的解决方案是逐个字符地遍历输入的字符串,然后在除最后一个字符之外的每个字符之后,在返回字符串中添加逗号。
由于您的工作实际上是自己完成,因此我不会发布代码解决方案。但是,我希望我的解释消除了您的误解,足以让您编写解决方案。
答案 1 :(得分:0)
public static void printLetters (String a){
String output = "";
for (int i=0; i<a.length(); i++)
{
output += a.charAt(i);
if (i != a.length()-1)
output += ",";
}
System.out.println(output);
}
请参阅@Andrew Fan的答案。它描述了split方法的作用。您需要执行的操作与此相反。您可以使用for循环或while循环。
*由于您是编程新手,
output += ","
与
相同output = output + ","
答案 2 :(得分:0)
使用String.join()
。
import java.util.*;
class Split{
public static void main(String [] args){
Scanner input = new Scanner(System.in);
System.out.println("Enter a String");
String str= input.nextLine();
String word = printLetters(str);
System.out.println(word);
}
public static String printLetters (String a){
return String.join(", ", a.split(""));
}
}
有关更多信息,请参见String.join()和String.split()。