在前两个字符后为每个字符添加连字符

时间:2015-12-11 05:25:04

标签: java

我需要在前两个字符后的每个字符处插入一个连字符。

即。 String text = "spiderman";

应该成为:sp-i-d-e-r-m-a-n

这是我到目前为止所得到的

Scanner input = new Scanner(System.in);
    System.out.print ("Enter A Text: ");
    String text = input.nextLine();
    char dash;
    for (int ctr = 0; ctr<text.length(); ctr++)
    {
        dash = text.charAt(ctr);
        System.out.print (dash+"-");
    }

3 个答案:

答案 0 :(得分:2)

__weak First *first;

答案 1 :(得分:0)

获取字符串的长度:

String.length()

您将使用索引获取字符串的字符:

enter image description here

http://bioportal.weizmann.ac.il/course/prog2/tutorial/java/data/getchar.html

  

第一个整数参数指定第一个字符的索引。   第二个整数参数是最后一个字符-1

的索引

enter image description here

现在,使用基于第二个索引之后的字符的字符串构建器在每个其他字符之后插入hie fens。将字符串放在for循环中以遍历每个字符,并使用字符串构建器的方法append

来自文档:

  

StringBuilder上的主要操作是append和insert   方法,它们被重载以接受任何类型的数据。每   有效地将给定的数据转换为字符串,然后追加或   将该字符串的字符插入字符串构建器。

答案 2 :(得分:0)

Rakesh的答案非常有效,但如果字符串长度非常大,我建议使用StringBuilder,否则你的字符串文字池可能会爆炸性增长

String text = "spiderman";
StringBuilder resultant = new StringBuilder();

if(text.length() <= 2) {
    return text;
}
else
   resultant.append(text.charAt(0)).append(text.charAt(1));
for(int i=2;i<text.length();i++)
{
    resultant.append("-").append(text.charAt(i));
}
return resultant.toString();