基本 ToString 错误
Basic ToString Error
我目前正在从事一个需要 ToString 的项目。我创建了一个非常简单的方法和 ToString 来说明我的问题。我的 evaluateValue
方法将执行特定计算并设置 occupation
和 age
变量。
问题是我的 ToString 不会打印任何内容。我想让 ToString 显示我的方法完成了什么,但不确定为什么它不能正常工作。
期望的输出:
Name: Bob
Occupation: Farmer
Age: 31
我的代码:
public class ToStringExample
{
static String occupation;
static int age;
private static void evaluateValue(String name)
{
if(name.equals("Bob"))
{
occupation = "Farmer";
age = 31;
}
if(name.equals("Fred"))
{
occupation = "Programmer";
age = 45;
}
else
{
occupation = "Undefined";
age = 22;
}
}
public String toString()
{
return "Name: " + name + "\nOccupation: " + occupation + "\nAge: " + age;
}
public static void main(String[] args)
{
System.out.println(evaluateValue("Bob"));
}
}
您无法打印 evaluateValue()
,因为它是 void
方法。相反,您可以从 evaluateValue 中删除 static
修饰符并创建一个 ToStringExample
对象。然后你可以调用 evaluateValue("Bob")
并打印对象。
不要什么都做static
。实例化一个实例(这样你就可以调用 toString()
了)。像,
public class ToStringExample {
String occupation;
int age;
String name;
public ToStringExample(String name) {
this.name = name;
}
public void evaluateValue() {
if (name.equals("Bob")) {
occupation = "Farmer";
age = 31;
} else if (name.equals("Fred")) {
occupation = "Programmer";
age = 45;
} else {
occupation = "Undefined";
age = 22;
}
}
public String toString() {
return "Name: " + name + "\nOccupation: " + occupation + "\nAge: "
+ age;
}
public static void main(String args[]) {
ToStringExample tse = new ToStringExample("Bob");
tse.evaluateValue();
System.out.println(tse);
}
}
输出是
Name: Bob
Occupation: Farmer
Age: 31
我目前正在从事一个需要 ToString 的项目。我创建了一个非常简单的方法和 ToString 来说明我的问题。我的 evaluateValue
方法将执行特定计算并设置 occupation
和 age
变量。
问题是我的 ToString 不会打印任何内容。我想让 ToString 显示我的方法完成了什么,但不确定为什么它不能正常工作。
期望的输出:
Name: Bob
Occupation: Farmer
Age: 31
我的代码:
public class ToStringExample
{
static String occupation;
static int age;
private static void evaluateValue(String name)
{
if(name.equals("Bob"))
{
occupation = "Farmer";
age = 31;
}
if(name.equals("Fred"))
{
occupation = "Programmer";
age = 45;
}
else
{
occupation = "Undefined";
age = 22;
}
}
public String toString()
{
return "Name: " + name + "\nOccupation: " + occupation + "\nAge: " + age;
}
public static void main(String[] args)
{
System.out.println(evaluateValue("Bob"));
}
}
您无法打印 evaluateValue()
,因为它是 void
方法。相反,您可以从 evaluateValue 中删除 static
修饰符并创建一个 ToStringExample
对象。然后你可以调用 evaluateValue("Bob")
并打印对象。
不要什么都做static
。实例化一个实例(这样你就可以调用 toString()
了)。像,
public class ToStringExample {
String occupation;
int age;
String name;
public ToStringExample(String name) {
this.name = name;
}
public void evaluateValue() {
if (name.equals("Bob")) {
occupation = "Farmer";
age = 31;
} else if (name.equals("Fred")) {
occupation = "Programmer";
age = 45;
} else {
occupation = "Undefined";
age = 22;
}
}
public String toString() {
return "Name: " + name + "\nOccupation: " + occupation + "\nAge: "
+ age;
}
public static void main(String args[]) {
ToStringExample tse = new ToStringExample("Bob");
tse.evaluateValue();
System.out.println(tse);
}
}
输出是
Name: Bob
Occupation: Farmer
Age: 31