次の文を文字列に保存します
“JAVA IS TOUGH LANGUAGE"
ユーザーに入力として文字を入力してもらい、その文字の合計出現回数を上記の文に出力してもらいたいと思います。さらに、ユーザーが文字列内の特定のフレーズまたは文字を検索したい場合は、それを検索できる必要があります。
初心者の簡単な方法を教えてください。
次の文を文字列に保存します
“JAVA IS TOUGH LANGUAGE"
ユーザーに入力として文字を入力してもらい、その文字の合計出現回数を上記の文に出力してもらいたいと思います。さらに、ユーザーが文字列内の特定のフレーズまたは文字を検索したい場合は、それを検索できる必要があります。
初心者の簡単な方法を教えてください。
String s ="JAVA IS TOUGH LANGUAGE";
char c ='A'; //character c is static...can be modified to accept user input
int cnt =0;
for(int i=0;i<s.length();i++)
if(s.charAt(i)==c)
cnt++;
System.out.println("No of Occurences of character "+c+"is"+cnt);
計算は 1 行で実行できます。
String sentence ="JAVA IS TOUGH LANGUAGE";
String letter = "x"; // user input
int occurs = sentence.replaceAll("[^" + letter + "]", "").length();
これは、文字ではないすべての文字を(正規表現を使用して)空白に置き換え[^x]
(効果的に削除して)、残りの長さを調べることで機能します。
このバージョンでは、ユーザーは検索したい文字を渡します。たとえば、コマンドラインから次のようにプログラムを呼び出します。
java TestClass A
これにより、文字列内の「A」が検索されます。
public class TestClass {
static String searchString = "JAVA IS TOUGH LANGUAGE";
static public void main(String[] args) {
int answer = 0;
if(args.length > 0){
char searchChar = args[0].charAt(0);
for (int i = 0; i < searchString.length(); i++){
if (searchString.charAt(i) == searchChar){
answer += 1;
}
}
}
System.out.println("Number of occurences of " + args[0] + " is " + answer);
}
}