dul*_*ldi -2 java swing boolean
我有一个布尔数组,稍后需要将它们显示给用户,而不是显示真或假,我想显示是或否。有人可以帮我吗?
public static boolean[] seen (boolean[] birds)
{ String quit = "100";
String ans = "";
while(!ans.equals(quit))
{ ans=JOptionPane.showInputDialog(null,"Which bird are you reporting? \n 1) Blue Tit\n 2) Blackbird\n 3) Robin\n 4) Wren\n 5) Greenfinch");
if (ans.equals("1"))
{ birds[0]=true;
}
else if (ans.equals("2"))
{ birds[1]=true;
}
else if (ans.equals("3"))
{ birds[2]=true;
}
else if (ans.equals("4"))
{ birds[3]=true;
}
else if (ans.equals("5"))
{ birds[4]=true;
}
}
return birds;
}
public static void display(boolean[] newbirds)
{ JOptionPane.showMessageDialog(null,"newbirds[0]+" "+newbirds[1]+" "+newbirds[2]+" "+newbirds[3]+" "+ newbirds[4]+"");
}
}
Run Code Online (Sandbox Code Playgroud)
我希望数组 newbirds[i] 显示为是或否格式,有人可以帮忙吗?
您可以像这样为它定义一个方法
public String booleanToString(boolean b) {
return b ? "yes" : "no";
}
Run Code Online (Sandbox Code Playgroud)
我上面使用的称为三元运算符。它是这样工作的:
boolean (expression) ? actionIfTrue : actionIfFalse
Run Code Online (Sandbox Code Playgroud)
第 1 部分我认为很容易。它只是任何表达式或变量,或者是或计算为布尔值的任何事物。例如a == b或true。
第二部分是actionIfTrue仅在表达式为true. 第三部分是actionIfFalse仅在表达式为false.
它的工作原理类似于缩短的if. 上面的if语句看起来像这样:
if (b)
return "yes";
else
return "no";
Run Code Online (Sandbox Code Playgroud)
像这样使用它:
boolean a = false;
boolean b = !a;
// etc
someMethod( booleanToString(a) + " xyz " + booleanToString(b) );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5271 次 |
| 最近记录: |