分割用户输入的每个字符串,并带有逗号错误

时间:2019-01-11 04:20:37

标签: java split

我应该用逗号分隔用户输入的每个字符串。 例如,如果用户输入“兔子”,则应将其打印为 “ 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方法,但是可以使用它,因为我也对此感到好奇。

预先感谢您:)

3 个答案:

答案 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(""));
        }
    }

enter image description here

有关更多信息,请参见String.join()String.split()