我正在研究带有bluej的java和面向对象的guid书,我们将会停留在练习的这个特定部分:“setRefNumber mutator,只有当参数是一个字符串的时候才设置refNumber字段至少三个字符。如果小于三个,则打印错误信息并保持字段不变。“ 我试图做的事情:
public void setRefNumber (String ref)
{
refnumber = ref;
if (len < 3) {
System.out.println("reference number must have at least 3 characters");
}
else {
refnumber = ref;
}
答案 0 :(得分:1)
您需要实际使用函数length(),它是字符串库的一部分。见下文。应该解决你的问题
public void addbtnclick(View view){
int cntChoice = listView.getCount();
SparseBooleanArray sparseBooleanArray = listView.getCheckedItemPositions();
for (int i = 0; i < cntChoice; i++) {
if (sparseBooleanArray.get(i) == true) {
String a = listView.getItemAtPosition(i).toString();
myDbHelper.setadd(a, "en");
} else if (sparseBooleanArray.get(i) == false) {
}
}
}
答案 1 :(得分:1)
在检查长度是否大于3之后,需要设置refNumber,因此需要使用java.lang.String函数'length()'。您可以通过代码'ref.length()'来检查ref String的长度。由此您可以检查长度是否大于3.
另外,在检查'ref'变量的长度之前,不需要指定'refNumber'变量。您可以删除该行,因为只有当长度大于3时才分配值,因此该行似乎是多余的。
您可以看到以下代码:
public void setRefNumber (String ref)
{
//not needed
//refnumber = ref;
if (ref.length() < 3) {
System.out.println("reference number must have at least 3 characters");
}
else {
//refNumber being asssigned here
refnumber = ref;
}
}
答案 2 :(得分:0)
data:
你可以在if条件下直接测试String的长度,然后相应地创建条件if-else块。