使用arraylist 完成下面代码

用户每次录入a-f的字符,录入后提示y/n,y继续录入,n退出,退出后统计a-f的个数

我这没有建java的类,就用kotlin随便写了个,逻辑都一样,你看着梳理一下就行了


val arr = arrayListOf("a", "b", "c", "d", "e", "f")
val inputs = arrayListOf<String>()
var lock = true
fun main(args: Array<String>) {
    while (lock) {
        input()
    }
}

private fun input() {
    val scan = Scanner(System.`in`)
    println("请输入a-f的字符:")
    val ch = scan.next()
    if (arr.contains(ch)) {
        inputs.add(ch)
        println("是否继续输入?y/n")
        val ch1 = scan.next()
        if (ch1 == "y") {
            input()
        } else {
            printList()
            lock = false
        }
    }else{
        println("输入错误,请重新输入")
        input()
    }
}

private fun printList() {
    inputs.toSet().forEach { ch ->
        println("$ch 的个数:${inputs.filter { it == ch }.size}")
    }
}

public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        String  str = "";
        ArrayList arrayList = new ArrayList<String>();
        do{
            System.out.print("请输入a-f字符:");
            String inStr = scanner.next();
            arrayList.add(inStr);
            System.out.println("是否继续?y or n");
            str = scanner.next();
            if(("n").equals(str)){
                System.out.println("统计个数为:"+arrayList.size());
                break;
            }
        }while ("y".equals(str));
    }