如何输出对象

时间:2016-11-26 17:55:56

标签: java object

我有这两个文件:

public class Uebungsblatt {

    public int nummerBlatt;
    public int maxPunkte;
    public int realPunkte;

    public Uebungsblatt(int nummerBlatt, int maxPunkte, int realPunkte) {
        this.nummerBlatt = nummerBlatt;
        this.maxPunkte = maxPunkte;
        this.realPunkte = realPunkte;
    }
}

public class Rechner {

    public static void main(String[] args) {
        int random = (int) (Math.random() * 61;

        for(int i = 1; i <= 13; i++){
            Uebungsblatt a = new Uebungsblatt(i, 60, random);
            System.out.println(a);
        }
    }
}

现在我想在十三次打印“Uebungsblatt”实例。但我不知道该怎么做。我想过一个for循环,但这不会真的有效,我总是得到类似“Uebungsblatt @ 42a57993”的东西。我在网上看到了一个教程,他们使用了“string.format”,但这也无法正常工作。

2 个答案:

答案 0 :(得分:1)

这可以通过两种方式完成:

  1. 通过在循环中显示main方法中的所有三个值来列出项目。

    公共课Rechner {

    public static void main(String [] args) {

    int random = (int) (Math.random() * 61;
    
    for(int i = 1; i <= 13; i++)
    {
    
        Uebungsblatt a = new Uebungsblatt(i, 60, random);
    
        System.out.println(a.nummerBlatt);
    
        System.out.println(a.maxPunkte);
    
        System.out.println(a.realPunkte);
    
    }
    

    }

  2. }

    1. 在Uebungsblatt类中声明一个函数显示。

      public void display()

      {

      System.out.println(a.nummerBlatt);
      
      System.out.println(a.maxPunkte);
      
      System.out.println(a.realPunkte);
      

      }

      public static void main(String [] args)

      {

      int random = (int) (Math.random() * 61;
      
      for(int i = 1; i <= 13; i++){
      
      Uebungsblatt a = new Uebungsblatt(i, 60, random);
      
      a.display();
      

      }

      }

答案 1 :(得分:0)

您正在尝试打印整个对象,因此您获得了此类结果。 以下是您的代码的两种可能解决方案:

  

通过访问对象属性直接打印:

for(int i = 1; i <= 13; i++){
            Uebungsblatt a = new Uebungsblatt(i, 60, random);
            System.out.println(a.maxPunkte);
            System.out.println(a.nummerBlatt);
            System.out.println(a.realPunkte);
        }
  

或者您可以为Uebungsblatt类创建一个Show函数,例如:

public void show() {
        System.out.println(maxPunkte);
        System.out.println(nummerBlatt);
        System.out.println(realPunkte);
    }
  

然后在你的主要使用:

for(int i = 1; i <= 13; i++){
            Uebungsblatt a = new Uebungsblatt(i, 60, random);
            a.show();
        }