gpt4 book ai didi

java - Java 中的输出忽略方法

转载 作者:行者123 更新时间:2023-12-02 12:13:41 24 4
gpt4 key购买 nike

尝试创建一个代码来打印随机抽取的 5 张牌的面值和花色。由于某种原因,它只打印方法的输入,而不打印方法的结果。有人可以告诉我哪里出错了吗?谢谢!对于结果我得到输出:

3 of 1
2 of 5
2 of 6
0 of 11
3 of 12

import java.util.*;

public class Card {

static int suits = 0;
static int values = 0;
static String c, d,e,f;
public String getSuit()
{
if (c == "0")
e = ("Hearts");
else
if (c == "1")
e = "Spades";
else
if (c == "2")
e = "Clubs";
else
if (c == "3")
e = "Diamonds";
else
e=c;

return e;
}

public String getValue() {

if (d == "0")
f = ("Ace");
else
if (d =="11")
f = ("Jack");
else
if (d == "12")
f = ("Queen");
else
if (d == "13")
f = ("King");
else
f =d;
return f;
}

public static void main(String[] args) {
// TODO Auto-generated method stub


Random gen = new Random();

int [] suits = new int[4];
{
for (int index=0;index<suits.length; index++)
suits[index] = index;
}


int [] values = new int[14];
{
for (int j = 0; j<values.length;j++)
values[j]= j;
}

for (int g = 0; g<5; g++)
{
int a = gen.nextInt(suits.length);

int b = gen.nextInt(values.length);

c = Integer.toString(a);

d = Integer.toString(b);
//System.out.println(c);
//System.out.println(d);

Card draw = new Card ();

draw.getSuit();
draw.getValue();

System.out.println(e + " of "+f);
}
}

最佳答案

static String c, d,e,f;

都是字符串,在Java中你必须使用.equals来比较字符串。因此,

    if (c.equals("0"))
e = ("Hearts");
else
if (c.equals"1"))
e = "Spades";

并将代码中各处的 == 更改为 .equals 。请告诉我们以获得更多帮助!

关于java - Java 中的输出忽略方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46357635/

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