テキストの文字列を読み込んで、このテキストとその頻度のすべてのdigramを出力するプログラムを作成しようとしています。入力の括弧とカンマなしの出力Arraylist文字列
例:park car at the parking lot
は出力対応:私はこのサンプルの入力をしようとするとar:3 pa:2 rk:2 at:1 ca:1 he:1 in:1 ki:1 lo:1 ng:1 ot:1 th:1
、それがカッコとカンマを持って文句を言わないので、私はこの問題を解決するにはどうすればよい[ar:3, pa:2, rk:2, ca:1, at:1, th:1, he:1, ki:1, in:1, ng:1, lo:1, ot:1]
を出力?
public class Digrams {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
ArrayList<String> repetition = new ArrayList<String>();
ArrayList<String> digrams = new ArrayList<String>();
String digram;
for (int i = 0; i < str.length() - 1; i++) {
digram = str.substring(i, i + 2);
if (repetition.contains(digram) || digram.contains(" ") || digram.length() < 2) {
continue;
}
int occurances = (str.length() - str.replace(digram, "").length())/2;
digrams.add(digram + ":" + occurances);
repetition.add(digram);
}
Collections.sort(digrams, (s1, s2) -> s2.substring(3, 4).compareTo(s1.substring(3, 4)));
System.out.println(digrams);
}
}
とライン
を交換してください。 'ArrayList'の' toString() 'メソッドは角括弧とカンマを追加します。 – Logan