我有一个我的讲师给我的作业,但我真的不知道这个

时间:2015-04-30 04:03:39

标签: java

编写一个程序,提示用户输入符号' @'并打印n次符号' @' 问题可以递归定义如下:

If (times=0)
    return 0 
if (times >= 1)
{
    call PRintSymbol (symbol, times-1)
}

2 个答案:

答案 0 :(得分:0)

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class CountSymbols {

/**
 * @param args
 */
 static void printsymbols(String inp,String sym){
     int count=0;
     Pattern p=Pattern.compile(sym);
     Matcher m=p.matcher(inp);
     while(m.find()){
         count++;
     }
     System.out.println(sym+" has "+ count+" times");
 }
public static void main(String[] args) {
    // TODO Auto-generated method stub

    Scanner in=new Scanner(System.in);
    System.out.println("Enter the Symbol");
    String sym=in.nextLine();
    System.out.println("Enter the String");
    String inp=in.nextLine();
    CountSymbols.printsymbols(inp,sym);

 }

}

输出: 输入符号

@

输入字符串

我@inp @ str @ ing

@有4次

答案 1 :(得分:0)

public class Main{
    public static void main(String[] args) {
        String string = "@@Test@@String@lol@lol";
        System.out.println("String: \"" + string +"\" found \'@\' " + //

                (string.length() - string.replaceAll("@", "").length()) //

                + " times."); //
    }
}

说明:我们给了一个字符串S,其中包含我们正在寻找的N个字符。我们在S的长度和S的长度之间得到差异('@'被替换为)。因此,我们正在消除所有'@'。

输出:

String: "@@Test@@String@lol@lol" found '@' 6 times.