我如何从 toString() 方法中的方法调用字符串(所有方法都相同 class)
How can i call a String from a method in a toSting() method (all methods are in same class)
我被困在这里有一段时间了。
我想将课程方法中的字符串 lesson
调用到我的 toString()
方法中。两种方法都在同一个 class.
教学方法如下:
public static String lesson() {
System.out.println("Now you have written about your day, what are the lesson learnt ? Huh??");
Scanner lessonLearned = new Scanner(System.in);
String lesson = lessonLearned.nextLine();
return lesson;
}
这是 toString 方法
@Override
public String toString() {
String final = "";
final = "[" + Calendar.getInstance().getTime() + "," +lessonShouldBeHere+ "," AnotherString + "]";
return out;
}
正如所写,String lesson
是一个局部变量,在方法的上下文之外不可访问(因为它在堆栈上并且不再存在)。
static String storedLesson = null;
public static String lesson() {
System.out.println("Now you have written about your day, what are the lesson learnt ? Huh??");
Scanner lessonLearned = new Scanner(System.in);
String lesson = lessonLearned.nextLine();
storedLesson = lesson;
return lesson;
}
要解决这个问题,请创建一个静态变量来保存课程值。我建议静态,因为这是一个静态方法。如果这个方法是class的成员方法,最好把它做成一个成员变量。
然后在你的toString
方法中使用storedLesson
我被困在这里有一段时间了。
我想将课程方法中的字符串 lesson
调用到我的 toString()
方法中。两种方法都在同一个 class.
教学方法如下:
public static String lesson() {
System.out.println("Now you have written about your day, what are the lesson learnt ? Huh??");
Scanner lessonLearned = new Scanner(System.in);
String lesson = lessonLearned.nextLine();
return lesson;
}
这是 toString 方法
@Override
public String toString() {
String final = "";
final = "[" + Calendar.getInstance().getTime() + "," +lessonShouldBeHere+ "," AnotherString + "]";
return out;
}
正如所写,String lesson
是一个局部变量,在方法的上下文之外不可访问(因为它在堆栈上并且不再存在)。
static String storedLesson = null;
public static String lesson() {
System.out.println("Now you have written about your day, what are the lesson learnt ? Huh??");
Scanner lessonLearned = new Scanner(System.in);
String lesson = lessonLearned.nextLine();
storedLesson = lesson;
return lesson;
}
要解决这个问题,请创建一个静态变量来保存课程值。我建议静态,因为这是一个静态方法。如果这个方法是class的成员方法,最好把它做成一个成员变量。
然后在你的toString
方法中使用storedLesson