替换扫描仪字符串中的字符

时间:2014-02-15 09:11:02

标签: java string replace

因此,对于作业,我应该创建一个程序,将每个字母加倍,并将输入扫描仪的短语的每个感叹号增加三倍。这是我到目前为止所得到的:

import java.util.Scanner;
public class DoubleLetters{
  public static void main(String[]args){
    Scanner scan = new Scanner(System.in);
    System.out.println("Enter a statement");
    String x = scan.nextLine();
    String y = x.replace("! ","!!! ");
    for(int j=0; j< x.length(); j++){
      System.out.print(y.charAt(j));
      System.out.print(y.charAt(j));
    }
  }
}

将这些字母加倍,但感叹号不会增加三倍。我试图使用替换方法,但它没有用。请,任何帮助表示赞赏。

6 个答案:

答案 0 :(得分:0)

试试这个

String y = x.replace("!","!!!");

或者

    for (char c : x.toCharArray()) {
        System.out.print(c);
        System.out.print(c);
        if (c == '!') {
            System.out.print(c);
        }
    }

答案 1 :(得分:0)

将String转换为 char 数组,而不是double和triplet并显示。从左侧开始读取并使用double和triplet条件更新char数组移动到右侧,最后显示结果(char数组)。

答案 2 :(得分:0)

只需在循环中添加if语句

if(y.charAt(j) == '!') {
   System.out.print(y.charAt(j));
}

并删除替换方法

中的空格
String y = x.replace("!","!!!");

答案 3 :(得分:0)

您可以浏览所有字符并将其附加到StringBuilder

String str = /* recieved from scanner */
StringBuidler builder = new StringBuilder();

for (char c : str.toCharArray()) {
    // Any character needs to be included at least once:
    builder.append(c);

    // If it's a letter, you need another copy (total of 2)
    if (Character.isLetter(c)) {
        builder.append(c);
    // If it's an excalmation mark, you need another two copies (total of 3)
    } else if (c == '!') {
        builder.append(c);
        builder.append(c); 
   }
}

System.out.println(builder);

是System.out.print(y.charAt(J));   是System.out.print(y.charAt(J)); }

答案 4 :(得分:0)

尝试以下代码,它可以随心所欲地工作,

import java.util.Scanner;
public class DoubleLetters
{
   public static void main(String[]args)
   {
     Scanner scan = new Scanner(System.in);
     System.out.println("Enter a statement");
     String x = scan.nextLine();
     for(int j=0; j< x.length(); j++)
     {
   if(y.charAt(j)=='!')
    System.out.println("!!!");
   else
   {
          System.out.print(y.charAt(j));
          System.out.print(y.charAt(j));
   }
     }
   }
 }

答案 5 :(得分:0)

因为你没有成功取代'!' 。所以对于另一种方法而不是替换,你可以使用StringTokenizer将你的字符串标记为这段代码。并且你可以在每个的末尾添加你想要的内容!你可以添加2个 !! 。代码为。

System.out.println("---- Split by comma '!' ------");
    String s = "My Name !is !Manmohan"; //scanner string
    System.out.println("---- Split by comma ',' ------");
    StringTokenizer st2 = new StringTokenizer(s, "!");
    String now = "";
    while (st2.hasMoreElements()) {
        now += st2.nextElement() + "!!!";
    }

    System.out.println(now.substring(0, now.length() - 3));
            //op ...  My Name !!!is !!!Manmohan