前提・実現したいこと
例えば
Apple Apricot Orange Cherry Apple Orange Cherry Orange
と入力された文字列を
Apple 2
Apricot 1
Orange 3
Cherry 2
のように文字が何個あるかをカウントするプログラムを作りたいです。
発生している問題
Apple Apricot Orange Cherry Apple Orange Cherry Orange
上記のように一単語を抽出する場合、下記のソースコードで解決するのですが
例えば
c bbbacbacbabcbb abbc c cb caaaba aba bbaaabbbaccb aab a bccbcabab ac c cbca babacb ab abacab bb
みたいに一つの文字列にたくさんのCがある場合正確にカウント出来ません。
"bbbacbacbabcbb"をsplitなどを使わずそのままでbやcが何個含まれているか調べる方法があればご教授下さい。
該当のソースコード
Java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String line = "Apple Apricot Orange Cherry Apple Orange Cherry Orange"
List<String> list = Arrays.asList(line.split(" "));//Apple Apricot Orange Cherry Apple Orange Cherry Orange
List<String> listB = new ArrayList<String>(new LinkedHashSet<>(list));//Apple Apricot Orange Cherry
int size = list.size();//8
int size2 = listB.size();//4
int count = 0;
for(int i = 0;i<size2;i++){ String a = listB.get(i);//Apple Apricot Orange Cherry Apple Orange Cherry Orange for(int b = 0;b<size;b++){// list1から8まで if(list.get(b).contains(a)){//listにlist2が含まれているか count = count + 1; } } System.out.println(listB.get(i) + " " + count); count = 0; } } }
試したこと
配列、リスト、あらゆる方法を考えましたが文字列に特定の単語が何個含まれているかを数える手段が思いつきませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/18 12:40