如何使用字符串和if-else语句?

时间:2013-07-19 00:09:31

标签: java if-statement

(首先,如果这是一个基本问题,我道歉,但我是新手编码)

我想要做的是验证字符串是否为某个字符组合,然后使用if-else语句替换它们,如下所示:

String RAWUserInput = sometextfield.getText().toString();
if (RAWUserInput.contains("example") {
   String UserInput = RAWUserInput.replace("example", "eg");
}else{
   String UserInput = RAWUserInput;}

sometextbox.setText(UserInput);

然后访问if-else语句之外的字符串。我不知道怎么做最后一行,因为java找不到字符串,我该怎么办?

提前致谢:)

4 个答案:

答案 0 :(得分:4)

if语句之前声明变量。

String UserInput;
if (RAWUserInput.contains("example") {
   UserInput = RAWUserInput.replace("example", "eg");
}else{
   UserInput = RAWUserInput;
}

它将在if语句后保留在范围内。如果变量在if块或else块内(在大括号之间)声明,则在块结束后超出范围。

此外,编译器足够聪明,可以确定在每种情况下始终将某些内容分配给UserInput,因此您不会收到编译器错误,即该变量可能未被赋值。

在Java中,变量通常以小写字母开头,与类不同。通常,您的变量将命名为userInputrawUserInput

答案 1 :(得分:4)

在块({ ... })中声明变量时,该变量仅存在于该块内。

您需要在块外声明它,然后在块内分配

答案 2 :(得分:0)

String rawUserInput = sometextfield.getText().toString();
String userInput = ""; // empty
if (rawUserInput.contains("example") {
   userInput = rawUserInput.replace("example", "eg");
} else{
   userInput = rawUserInput;
}

sometextbox.setText(userInput);

否则,请保存else语句:

String rawUserInput = sometextfield.getText().toString();
String userInput = new String(rawUserInput); // copy rawUserInput, using just = would copy its reference (e.g. creating an alias rawUserInput for the same object in memory)
if (rawUserInput.contains("example") {
   userInput = rawUserInput.replace("example", "eg");
}
// no else here

另外,请查看编码指南:缩进代码使其更具可读性,首选使用小写字母启动临时变量名称。

答案 3 :(得分:0)

String UserInput = RAWUserInput.contains("example")? RAWUserInput.replace("example", "eg"): RAWUserInput;