0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Ruby】【Java】特定の文字列を数える

Posted at

 新しく「Java」を勉強するにあたり、これまで「Ruby」を勉強する過程で作っていたプログラムを「Java」で作ってみることにしました。

 今回作るプログラムはこちらです。

def count_hi(str)
  puts str.scan("hi").length
end

count_hi('abc hi ho')
count_hi('ABChi hi')
count_hi('hihi')

 「Ruby」で作っていた 「hi」という文字列を数えるプログラムです。出力結果は以下のようになります。

1
2
2

##Javaで作ると
 「Java」で作るとこのようになりました。初めに自分で作ったコードは無駄が多かったため、下記の記事を参考にして書き直しました。

 文字列の中から特定の文字を数える

  • メソッドを定義したクラス
package example;

public class Count {
	
	void countHi(String str) {
		int index = 0;
		int count = 0;
		while(true) {
		    index = str.indexOf("hi", index) + 1;
		    if (index == 0) break;
		    count++;
		}
		System.out.println(count);
	}

}
  • メソッドを呼び出すクラス
package example;

public class UseCountHi {

	public static void main(String[] args) {
		Count str1 = new Count();
		str1.countHi("abc hi ho");
		
		Count str2 = new Count();
		str2.countHi("ABChi hi");
		
		Count str3 = new Count();
		str3.countHi("hihi");
	}

}

 まだまだ書き直す余地はあると考えられますのでご意見いただけるとありがたいです。「Ruby」で用いた「scan」と同じようなメソッドは「Java」にはありますでしょうか?

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?