以下代码不起作用.任何人都可以告诉我以下代码有什么问题.逻辑上它应该工作......
package assignments;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class IsPalindrome {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("Enter a Word:");
StringBuffer sb1 = new StringBuffer(br.readLine());
StringBuffer sb2 = new StringBuffer(sb1);
sb1.reverse();
if(sb2.equals(sb1))
System.out.println("Palindrome");
else
System.out.println("Not a Palindrome");
}
}
Run Code Online (Sandbox Code Playgroud) 我目前有一个toString方法,类似于下面的方法.请忽略对象仅被临时命名.我这样做是为了使每个变量的类型之间没有混淆等:
@Override
public String toString() {
for(Object object : ArrayList) {
System.out.println("This object is a " + object.getVariableA() + " and a " + object.getVariableB() + ".");
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
但是toString方法要求我返回一个值.我显然只想返回我正在打印的字符串,虽然如果我在那里放置一个返回语句,它只会打印一个Object而不是所有我正在循环的对象.什么是打印所有这些值的最佳方法,而不是简单地返回null,因为我不希望在所有对象之后打印出来?我还想确保这些对象中的每一个都按照它们当前的单独行打印,所以请不要建议包含一个长连接字符串而不包含换行符的解决方案,因为这不适合这种情况.
提前致谢!
我尝试在子类Manager中调用超类的super.toString,但它不起作用.我希望输出如下:
current data:
#Person (ID=1):
firstname: NN
lastname: NN
email: unknown
date of birth: 01.01.1970
annual pay: 0.00
#Manager:
annual base pay: 0.00
bonus: 0.00
firstname: lastname: email: date of birth: enter date (y m d)
Run Code Online (Sandbox Code Playgroud)
但我得到的是没有显示超类的属性:
firstname:
lastname:
email:
date of birth: enter date (y m d)
Run Code Online (Sandbox Code Playgroud)
任何建议将受到高度赞赏谢谢
public class Person {
private String fn;
private String ln;
private String email;
private Date dob;
private static int nextID=1;
private final int ID=nextID++;
Person(){
this.fn = "NN";
this.ln = "NN"; …Run Code Online (Sandbox Code Playgroud) 在下面的代码中,如何toString()隐式调用?
class Payload {
private int weight;
public Payload (int w) {
weight = w;
}
public void setWeight(int w) {
weight = w;
}
public String toString() {
return Integer.toString(weight);
}
}
public class testpayload {
static void changePayload(Payload p) {
p.setWeight(420);
}
public static void main(String[] args) {
Payload p = new Payload(200);
p.setWeight(1024);
changePayload(p);
System.out.println("p is " + p);
}
}
Run Code Online (Sandbox Code Playgroud)