我如何使这不重复相同的事情
我需要这个打印每个航class的一些“#”,但重复它,我不能修复它。 这是目前的产出:
TP23 ##############################
TP23 #########
TP1971 ############
VN453 #####
TP23 ##############################
TP23 #########
TP1971 ############
TP23 ##############################
TP23 #########
VN453 #####
TP1971 ############
这是预期的输出:
TP23 ##############################
TP23 #########
TP1971 ############
VN453 #####
fun mapReservas(reservas: List): Map<Pair, List> { val map = mutableMapOf<Pair, MutableList>() for (reserva in reservas) { val key = reserva.numVoo to reserva.day val list = map[key] ?: mutableListOf() list.add(reserva) map[key] = list } return map } fun analiseEconomica(reserves: List) { val map = mapReserves(reserves) for (reserve in reserves) { map.forEach { val reservesNum = it.key.first val reservesDay = it.key.second val reservesCount = it.value.count() if (reservesNum == reserva.numFLight) { val conversion : Double = reservasCount * 1.5 conversion!!.toInt() var count = 0 val space = 10 - reservesNum.length print("$reservesNum") for (i in 0..space) { print(" ") } while (count < conversion) { print("#") count++ } println() } } } }
我想你正在循环reserves
和你创建的地图。 放下for
循环,它应该只打印地图的内容。
fun analiseEconomica(reserves: List) { val map = mapReserves(reserves) map.forEach { // Same logic here } }
通过额外的for循环,你说你想要在map
上打印每个Reserves
对象的每个值,这就是为什么你会得到这么多的重复。
仅供参考,有更多的惯用方法来做你正在做的事情,但为了直接回答你的问题,我将离开它在这个。