我有代码来检查字符,但无论值是true还是false,应用程序输出都是+ b + c。 如何获得true的输出:a + b + c 如果值为false,则输出:setError(“error”);
private EditText etkolom1, etkolom2, etkolom3, etkolomgabung;
private Button bsimpan;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etkolom1 = (EditText)findViewById(R.id.editText);
etkolom2 = (EditText)findViewById(R.id.editText2);
etkolom3 = (EditText)findViewById(R.id.editText3);
etkolomgabung = (EditText)findViewById(R.id.editText4);
bsimpan = (Button)findViewById(R.id.button);
bsimpan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String a = etkolom1.getText().toString();
String b = etkolom2.getText().toString();
String c = etkolom3.getText().toString();
if (cekET(etkolom1, "i", "8i") &&
cekET(etkolom2, "a", "8a") &&
cekET(etkolom3, "u", "8u")) {
} else {
String gabung = a + " " + b + " " + c;
etkolomgabung.setText(gabung);
Toast.makeText(MainActivity.this, gabung, Toast.LENGTH_LONG).show();
}
}
});
}
public boolean cekET(EditText et, String cr, String pesan){
String c = et.getText().toString();
String cari = cr;
int k = c.length() - 3;
boolean kondisi = false;
if (c.length() > 3){
for (int i = c.length()-1; i>=k;i--){
char tmp = c.charAt(i);
String tmpStr = String.valueOf(tmp);
if(tmpStr.equalsIgnoreCase(cari)){
kondisi = true;
}
}
}else{
for (int i=0; i <c.length();i++) {
char tmp = c.charAt(i);
String tmpStr = String.valueOf(tmp);
if (tmpStr.equalsIgnoreCase(cari)) {
kondisi = true;
}
}
}
if (kondisi){
Toast.makeText(MainActivity.this,"True", Toast.LENGTH_LONG).show();
}else {
et.requestFocus();
et.setError(pesan);
}
return kondisi;
}
谢谢,请帮帮我:)。
答案 0 :(得分:0)
希望它有助于交配:
布尔类型可以具有以下两个值之一:true或false。布尔值用于执行逻辑运算,最常用于确定某些条件是否为真。例如:
boolean enrolled = true; boolean credited = false;
这里,一个名为enrolled of boolean类型的变量被声明并初始化为一个值,另一个名为credited的布尔值被声明并初始化为false。
在某些语言中,例如C或C ++,整数值可以视为布尔值,0等于false,任何其他值等于true。在Java中不是这样。在Java中,您无法在整数类型和布尔类型之间进行转换。
布尔表达式是一种Java表达式,在计算时,返回一个布尔值:true或false。布尔表达式用于条件语句,例如if,while和switch。
最常见的布尔表达式将变量的值与某个其他变量的值,常量或简单的算术表达式进行比较。此比较使用以下关系运算符之一:
OperatorDescription ==如果左侧的表达式求值与右侧的表达式的值相同,则返回true。!=如果左侧的表达式的计算结果与右侧的表达式的值不相同,则返回true。如果左侧的表达式求值大于右侧表达式的值,则返回true。&gt; =如果左侧的表达式求值大于或等于表达式的值,则返回true右边。
基本布尔表达式具有以下形式:
表达式关系运算符表达式
Java通过首先评估左边的表达式,然后评估右边的表达式,最后应用关系运算符来确定整个表达式的计算结果是true还是false来评估布尔表达式。
例如,假设您已声明了两个变量:
int i = 5; int j = 10;
以下是一些简单的表达式及其结果:
ExpressionValueExplanationi == 5trueThe value of i is 5.
i == 10falseThe value of i is not 10.
i == jfalsei is 5, and j is 10, so they are not equal.
i == j - 5truei is 5, and j – 5 is 5.
i > 1truei is 5, which is greater than 1.
j == i * 2truej is 10, and i is 5, so i * 2 is also 10.
测试相等性的关系运算符是一行中的两个等号(==)。单个等号是赋值运算符。当您第一次学习Java时,您可能会发现自己在表示等于运算符时键入赋值运算符,如下所示:
if(i = 5)
糟糕。这是不允许的。
不要使用关系运算符测试字符串,包括相等的运算符。在Java中比较字符串的正确方法是使用String.equals方法。
您可以使用逻辑运算符在一个布尔表达式中组合两个或多个关系表达式。