[英]boolean doesn't set to true in Java
我正在嘗試更改不起作用的“stat”的狀態
public class controller {
public static void main(String args[]){{
final AjaxR re = new AjaxR();
re.setMal("qw");
if (re.getMal() != null) {
re.setStat(true);
}
if(re.isStat()){
System.out.println("Hello");
}
}
public class AjaxR {
boolean stat;
String mal;
public boolean isStat() {
return stat;
}
public void setStat(final boolean stat) {
this.stat = stat;
}
public String getmal() {
return mal;
}
public void setMal(final String mal) {
this.mal = mal;
}
這里re.stat
沒有設置為 true。 除非我在調試模式下手動強制執行re.setStat(true)
,否則它不會改變。
您的代碼存在多個語法問題:
{
在您的主要方法標題之后;getMal()
是錯誤的情況,它與您在AjaxR
中的方法getmal()
不匹配;controller
類沒有右括號;AjaxR
也沒有AjaxR
大括號。 但是,當這些錯誤被修復后(我將把它作為練習留給您完成!),您的代碼會按照您的預期運行 - 打印“Hello”並且stat
絕對設置為 true。
我將您的代碼復制到 eclipse 中,並且能夠輕松找到您的其余錯誤。 您沒有正確數量的getmal()
括號和getmal()
括號,而且您將方法命名為getmal()
而不是getMal()
。 如果您使用合適的 IDE,可以輕松檢測到所有這些拼寫錯誤和錯誤。
插入正確數量的大括號並修復所有錯別字后,以下代碼有效並打印出Hello
:
public class controller {
public static void main(String args[]){
final AjaxR re = new AjaxR();
re.setMal("qw");
if (re.getMal() != null) {
re.setStat(true);
}
if(re.isStat()){
System.out.println("Hello");
}
}
}
public class AjaxR {
boolean stat;
String mal;
public boolean isStat() {
return stat;
}
public void setStat(final boolean stat) {
this.stat = stat;
}
public String getMal() {
return mal;
}
public void setMal(final String mal) {
this.mal = mal;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.