gpt4 book ai didi

java - 我的java猜数程序错误

转载 作者:行者123 更新时间:2023-12-01 11:38:27 27 4
gpt4 key购买 nike

我正在用 Java 制作一个猜数字游戏,其中程序显示一个 1 到 10 范围内的数字,您必须猜测下一个数字是否会低于或高于当前数字。但似乎有一个问题,当我猜对时,我应该在我的分数上加一分,但它只是在我猜错时执行方法。

class csjava
{
public static void main(String[] args)
{
Random dom = new Random();
Random dom2 = new Random();
Scanner input = new Scanner(System.in);
int score = 0;
System.out.println("Guess if next number will be higher or lower Score:" + score);
int rnd = dom.nextInt();
int rnd2 = dom2.nextInt();
String lo = "lower";
String hi = "higher";
if(score ==10)
{
System.out.println("You win!");
}
while(score != 10)
{
System.out.println(dom.nextInt(10-1)+1);
String in = input.nextLine();
if(in == lo)
{
System.out.println(dom2.nextInt(10-1)+1);
if(rnd2 < rnd)
{
score = score + 1;
}
}
else
{
System.out.println("Nope, try again.");
}
if(in == hi)
{
System.out.println(dom2.nextInt(10-1)+1);
if(rnd2 > rnd)
{
score = score + 1 ;
}
else
{
System.out.println("Nope, try again.");
}
}
}
}

最佳答案

您正在使用 == 来等同于字符串。这只适用于使基元的值相等。查看this post为了更清楚的理解。

== is a reference comparison, i.e. both objects point to the same memory location

.equals() evaluates to the comparison of values in the objects

而不是

if(in == lo)

你想要

if(in.equals(lo))

关于java - 我的java猜数程序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29760405/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com