【发布时间】:2025-11-27 18:35:01
【问题描述】:
我用 Kotlin 编写了一个程序。该程序运行良好,但我仅通过运行程序来测试该功能。我想我知道问题出在哪里,但我不知道如何修改测试。提前致谢!
class Dice {
var firstDice = 1
var secondDice = 1
var thirdDice = 3
var fourthDice = 2
var fifthDice = 2
val dices: MutableList<Int> = ArrayList()
fun throwDices() {
firstDice = Random.nextInt(1,7)
dices.add(firstDice)
println("Eldobtad a kockákat, az első kocka értéke: $firstDice")
secondDice = Random.nextInt(1,7)
dices.add(secondDice)
println("A második kocka értéke: $secondDice")
thirdDice = Random.nextInt(1,7)
dices.add(thirdDice)
println("A harmadik kocka értéke: $thirdDice")
fourthDice = Random.nextInt(1,7)
dices.add(fourthDice)
println("A negyedik kocka értéke: $fourthDice")
fifthDice = Random.nextInt(1,7)
dices.add(fifthDice)
println("Az ötödik kocka értéke: $fifthDice")
dices.sort()
println(dices)
}
fun winningCheck() :Int {
if(dices[0] == dices[1] && dices[0] == dices[2] && dices[0] == dices[3] && dices[0] == dices[4] ) {
return 15
}
else if(dices[0] == dices[1] && dices[0] == dices[2] && dices[0] == dices[3]) {
return 9
}
else if (dices[0] == dices[1] && dices[0] == dices[2] && dices[3] == dices[4]) {
return 5
}
else if(dices[0] == dices[1] && dices[0] == dices[2] || dices[1] == dices[2] && dices[1] == dices[3] ||
dices[2] == dices[3] && dices[2] == dices[4]) {
return 3
}
else if(dices[0] == dices[1] && dices[2] == dices[3] ||
dices[1] == dices[2] && dices[3] == dices[4] ||
dices[0] == dices[1] && dices[3] == dices[4]) {
return 2
}else if (dices[0] == dices[1] || dices[1] == dices[2] || dices[2] == dices[3] || dices[3] == dices[4]) {
return 1
}
else
return 0
}
}
这是类,我要测试,这里是测试代码:
class DiceTest {
private val dice = Dice()
private val dices: MutableList<Int> = ArrayList()
@Before
fun init() {
dice.firstDice = 1
dice.secondDice = 1
dice.thirdDice= 1
dice.fourthDice = 1
dice.fifthDice = 1
dices.add(dice.firstDice)
dices.add(dice.secondDice)
dices.add(dice.thirdDice)
dices.add(dice.fourthDice)
dices.add(dice.fifthDice)
}
@Test
fun checkingFiveOfAKind () {
assertEquals(15,dice.winningCheck())
}
这是错误代码:
【问题讨论】:
-
与问题无关,但“骰子”不是英文单词——“骰子”已经是复数;单数是“死”。一个骰子,两个骰子。
-
是的,我知道,就像老鼠一样。但是我的眼睛更容易使用骰子和骰子。
-
(如果是我,我想我会更喜欢“死”和“死”! 常规,和更接近标准术语。)
-
死亡和死亡提醒我有人死了。匈牙利语也有更多含义的词。如果我的英语不完美,请原谅。 ??????