我在入门级java类中,必须设计一个程序,用户猜测一个介于1-1000之间的随机数。我知道我需要一个单独的类来从文本字段中提取信息,但是我如何存储每个连续的猜测?如果猜测比前一次尝试更接近或更远,我需要说“Warmer”或“Colder”。
private class Event implements ActionListener{
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == guessAgain)
{
}
else if(e.getSource() == newGame)
{
}
else if(e.getSource() == userGuess)
{
input = userGuess.getText();
guess = Double.parseDouble(input);
}
答案 0 :(得分:1)
" colder" /"温暖"问题...
public static void main(String[] args) {
int guess, prevGuess, prevMiss, miss, secretNumber;
secretNumber = 99;
prevGuess = 77;
prevMiss = Math.abs(secretNumber - prevGuess);
guess = 88;
miss = Math.abs(secretNumber - guess);
if (miss > prevMiss) System.out.println("Colder");
else if(miss < prevMiss) System.out.println("Warmer");
else System.out.println("No change");
}
差值的绝对值给出了距离。
答案 1 :(得分:0)
根据我的评论:
previousGuess = currentGuess;
就是这样。
修改强>
根据DSlomer64的评论:
要确定是说“更温暖”还是“更冷”,请使用
Math.abs()
,绝对值函数来保存先前和当前的未命中数量。