编写一个程序,提示用户输入符号' @'并打印n次符号' @' 问题可以递归定义如下:
If (times=0)
return 0
if (times >= 1)
{
call PRintSymbol (symbol, times-1)
}
答案 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.