当前位置: 首页 > 知识库问答 >
问题:

对象的实例不显示toString方法的值[重复]

牟焱
2023-03-14

我试图做的是从我的两个数组中获得一个随机值,我已经成功地做到了。我的问题是,当从我的Card类创建对象的实例时,我没有收到正确的输出。我希望我的输出类似于“红桃2”或“黑桃杰克”。相反,我没有输出,但代码运行成功。

代码如下:

import java.util.Random;

public class Card {
    private static final String deckRanks[] = {"King", "Queen", "Jack", "Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
    private static final String deckSuits[] = {"of Diamonds", "of Spades", "of Hearts", "of Clubs"};

    public static void main(String[] args) {

    }

    public static String getRandomCard(){ 
        String card;
        Random cardSelector = new Random();

        int randomRank = cardSelector.nextInt(deckRanks.length);
        int randomSuit = cardSelector.nextInt(deckSuits.length);

        card = deckRanks[randomRank] + " " + deckSuits[randomSuit];
        return card;
    }

    @Override
    public String toString(){
        return getRandomCard();
    }
}

以及具有Card对象实例的类:

public class CardHand {
    public static void main(String[] args) {
        Card cards = new Card();

        cards.getRandomCard();
    }
}

共有1个答案

余信然
2023-03-14

CardHand类中的主方法不会显示随机选择的卡。

它应该看起来像下面这样。。。

public class CardHand {
    public static void main (String[] args) {
        // create a new Card
        Card card = new Card();
        // show the output of the Card's toString() method in the console
        // remember that getRandomCard() is called when we call toString()
        System.out.println("Random card is: "+card.toString());
    }
}
 类似资料:
  • Java代码已编译,但不显示toString方法。我需要在子类中调用它吗?或者toString是否有不同的方式来显示实例变量?

  • 我正在试图理解为什么下面的代码会像它那样运行。具体而言,为什么第一个表达式会输出的完整和最终版本?我意识到这和吊装有关(也许?)或者其他一些我没有完全理解的概念。只是在网上搜索这个是很有挑战性的,因为我没有合适的词库来搜索我想知道的东西。 我在为自己编写代码时发现了这一点,其中我希望通过for-loop看到对象在每次迭代时的状态。我很惊讶地看到输出到控制台的对象在每一个回合都是一样的;该状态是整个

  • 本文向大家介绍java tostring方法重写代码示例,包括了java tostring方法重写代码示例的使用技巧和注意事项,需要的朋友参考一下 当需要将一个对象输出到显示器时,通常要调用他的toString()方法,将对象的内容转换为字符串.java中的所有类默认都有一个toString()方法 默认情况下 System.out.println(对象名)或者System.out.println

  • 我创建了Person类,它由类的Student和Employee扩展(由其他Employee类型的类扩展)。person类如下所示: 我目前正在尝试创建一个方法,它将显示所有的人,如果他们是gender=“male”。我有: 我不确定如何引用方法中的对象(学生和雇员,它们都是persons)来返回它们。而我也不知道在主法中如何引用这个方法。我不能用个人打印,但如果我用 然后使用 我只是返回jame

  • 根据这个留档, 这些对象中的每一个的字符串表示都按照列出的顺序附加在一起并输出。 同样根据答案 x将对象x强制为一个字符串,即[object object]: 所以,我的问题是 如果我这样做 因此,在第一种情况下,它只打印对象(不调用方法)。 但是在第二种情况下,它不强制而是简单地打印原始值。为什么会这样呢? 哪种方法不支持调用以打印对象? 请注意-这不是这个问题的重复。

  • 本文向大家介绍JS实现数组去重复值的方法示例,包括了JS实现数组去重复值的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现数组去重复值的方法。分享给大家供大家参考,具体如下: 运行效果图如下: 完整实例代码如下: PS:这里再为大家提供几款去重复工具供大家参考使用: 在线去除重复项工具: http://tools.jb51.net/code/quchong 在线文本去重复工