在 Java 中打印出对象
Printing Out Object In Java
我有一个 file
包含以下内容:
5
Derrick Rose
1 15 19 26 33 46
Kobe Bryant
17 19 33 34 46 47
Pau Gasol
1 4 9 16 25 36
Kevin Durant
17 19 34 46 47 48
LeBron James
5 10 17 19 34 47
我试图将票证的名称和号码放入我的票证构造函数的数组中,但是当我实例化我的票证对象并尝试显示它时,我得到以下信息:
Tickets: lottery$Ticket@33909752
Tickets: lottery$Ticket@55f96302
Tickets: lottery$Ticket@3d4eac69
Tickets: lottery$Ticket@42a57993
Tickets: lottery$Ticket@75b84c92
问题出在我的票证构造函数中吗?或者如果不先将其设为字符串就无法打印数组?
int lim = scan.nextInt();
scan.nextLine();
for(int i = 0; i < lim; i++)
{
String name = scan.nextLine();
String num = scan.nextLine();
String[] t = num.split(" ");
int[] tichold = new int[t.length];
for(int j = 0; j < t.length; j++)
{
tichold[j] = Integer.parseInt(t[j]);
}
Ticket ticket = new Ticket(name, tichold);
System.out.println("Ticket: " + ticket);
}
scan.close();
}
public static class Ticket
{
public String name;
public int[] tarray;
public Ticket(String name, int[] tarray)
{
this.name = name;
this.tarray = tarray;
}
}
为了实现这一点,您需要编写一个重写的 toString 方法并在其中写入您想要的内容。
public String toString(){
return //whatever you need goes here and will be printed when you try and
//print the object
}
您需要为其提供toString
方法。这是示例,您可以使用它:
@Override
public String toString() {
return "Ticket{" +
"name='" + name + '\'' +
", tarray=" + Arrays.toString(tarray) +
'}';
}
您必须覆盖从对象继承的 toString 方法 class:
@Override
public String toString(){
return //Enter the format you require
}
记住 ticket 是一个引用变量,所以当您将它打印出来时,您将获得 hashcode 以及 class 的名称,该对象是其实例。
我有一个 file
包含以下内容:
5
Derrick Rose
1 15 19 26 33 46
Kobe Bryant
17 19 33 34 46 47
Pau Gasol
1 4 9 16 25 36
Kevin Durant
17 19 34 46 47 48
LeBron James
5 10 17 19 34 47
我试图将票证的名称和号码放入我的票证构造函数的数组中,但是当我实例化我的票证对象并尝试显示它时,我得到以下信息:
Tickets: lottery$Ticket@33909752
Tickets: lottery$Ticket@55f96302
Tickets: lottery$Ticket@3d4eac69
Tickets: lottery$Ticket@42a57993
Tickets: lottery$Ticket@75b84c92
问题出在我的票证构造函数中吗?或者如果不先将其设为字符串就无法打印数组?
int lim = scan.nextInt();
scan.nextLine();
for(int i = 0; i < lim; i++)
{
String name = scan.nextLine();
String num = scan.nextLine();
String[] t = num.split(" ");
int[] tichold = new int[t.length];
for(int j = 0; j < t.length; j++)
{
tichold[j] = Integer.parseInt(t[j]);
}
Ticket ticket = new Ticket(name, tichold);
System.out.println("Ticket: " + ticket);
}
scan.close();
}
public static class Ticket
{
public String name;
public int[] tarray;
public Ticket(String name, int[] tarray)
{
this.name = name;
this.tarray = tarray;
}
}
为了实现这一点,您需要编写一个重写的 toString 方法并在其中写入您想要的内容。
public String toString(){
return //whatever you need goes here and will be printed when you try and
//print the object
}
您需要为其提供toString
方法。这是示例,您可以使用它:
@Override
public String toString() {
return "Ticket{" +
"name='" + name + '\'' +
", tarray=" + Arrays.toString(tarray) +
'}';
}
您必须覆盖从对象继承的 toString 方法 class:
@Override
public String toString(){
return //Enter the format you require
}
记住 ticket 是一个引用变量,所以当您将它打印出来时,您将获得 hashcode 以及 class 的名称,该对象是其实例。