-2

我这里有两个问题需要解决。首先:我有我的程序,其中我希望将用户输入的任何内容保存在字符串中,并放置在数组中。

我的代码:

String words;
    String replaced_words;

    Scanner s = new Scanner (System.in);

        System.out.println("Enter a line of words basing on an event, verse, place or a name of a person.");
        words = s.nextLine();
        System.out.println("Word accepted!");
        //using char array method
        char [] c = words.toCharArray();

现在,我对字符串使用了 replace 方法,如下所示:

String replace = words.replace(' ', '-');

但问题是,这是作为错误发生的。通过将 ' ' 字符替换为以下单词:

String replace = words.replace(words, '-')

尽管我想根据单词上的字符数来限制连字符的长度。

该程序的输出应如下所示: · 将此字符串的副本创建到一个数组中,其中每个字母都替换为连字符 (-),每个空格都替换为下划线 (_)。符号和数字将保持显示。

我遇到的问题是它不会用连字符和下划线替换它们。它只显示我刚刚通过扫描仪键入的输入文本。

4

1 回答 1

0

为了实现您的目标,您可以使用:

    String word = "AB CD EF";
    String replace = word.replace(' ' , '-').replaceAll("[^\\-]", "_");
    System.out.println(replace); // prints "__-__-__"

如果您想要下划线之间的空格(以区分它们),您可以使用

    for (int i = 0; i < replace.length(); i++) {
        System.out.print(replace.charAt(i) + " ");
    }
    // prints "_ _ - _ _ - _ _ "
于 2012-11-27T13:10:37.047 回答