如果在外部使用则在内部可变
Variable inside if used outside
我想做的是获取字符串 a 的第一个字符和字符串 b 的最后一个字符。空 a 应该 return "@+lastb" 空 b 应该 return "firsta+@".
例子:a = "hello", b = "hi" 应该 return "hi";
a = "" and b = "hi" returns "@i";
public String lastChars(String a, String b) {
if(a.length() > 0) {
String firstA = a.substring(0,1);
}
else {
String firstA = "@";
}
if(b.length() > 0) {
String lastB = b.substring(b.length()-1);
}
else {
String lastB = "@";
}
return firstA + lastB;
}
我收到的错误消息是无法解析变量,我猜这意味着它们从未被创建过?
您必须在条件之前声明变量,以便它们在条件之后保留在范围内。
public String lastChars(String a, String b)
{
String firstA = "";
String lastB = "";
if(a.length() > 0) {
firstA = a.substring(0,1);
} else {
firstA = "@";
}
if(b.length() > 0) {
lastB = b.substring(b.length()-1);
} else {
lastB = "@";
}
return firstA + lastB;
}
我想做的是获取字符串 a 的第一个字符和字符串 b 的最后一个字符。空 a 应该 return "@+lastb" 空 b 应该 return "firsta+@".
例子:a = "hello", b = "hi" 应该 return "hi"; a = "" and b = "hi" returns "@i";
public String lastChars(String a, String b) {
if(a.length() > 0) {
String firstA = a.substring(0,1);
}
else {
String firstA = "@";
}
if(b.length() > 0) {
String lastB = b.substring(b.length()-1);
}
else {
String lastB = "@";
}
return firstA + lastB;
}
我收到的错误消息是无法解析变量,我猜这意味着它们从未被创建过?
您必须在条件之前声明变量,以便它们在条件之后保留在范围内。
public String lastChars(String a, String b)
{
String firstA = "";
String lastB = "";
if(a.length() > 0) {
firstA = a.substring(0,1);
} else {
firstA = "@";
}
if(b.length() > 0) {
lastB = b.substring(b.length()-1);
} else {
lastB = "@";
}
return firstA + lastB;
}