【发布时间】:2020-10-01 01:00:03
【问题描述】:
请检查以下程序并指出错误。无论输入是什么,我都会得到“不好”的结果。
package timePass;
public class TimePass{
private String password;
public String getPassword() {
return password;
}
public void setPassword() {
password="no";
}
}
package timePass2;
import java.util.Scanner;
import timePass.TimePass;
public class TimePass2{
public static void main(String[] args) {
TimePass obj= new TimePass();
Scanner sc= new Scanner(System.in);
String p= sc.nextLine();
TimePass tp= new TimePass();
if(p.equals(tp.getPassword())) {System.out.println("ok");}
else {System.out.println("not ok");}
}
}
【问题讨论】:
-
只是一个提示:要么使用 IDE(如 IntelliJ 或 Eclipse)并调试程序执行,要么通过打印来进行穷人的调试取出布尔变量
woo的赋值所涉及的值。特别要问自己tp.getPassword()返回的值是什么,为什么会这样? -
请注意,这里的社区不会取代其他优秀的在线资源,例如 tutorials 或阅读有关 Java 编程的书籍。使用 tour 了解 Stack Overflow 的工作原理并阅读 How to Ask a Good Question。还可以查看help center 了解您可以提出哪些问题。
标签: java if-statement call private encapsulation