我想将字符串中的字符与字母" r"进行比较。因此,我想检查字符串中i
上的字符是" R",A" L"或A" F"。
这是我的代码,但它没有说明...我是Java的初学者,对改进我的代码并使其起作用的每个想法感到非常高兴。
for (int i = s.length()-2; i >= 0; i--){
if (s.charAt(i) == "R"){
s = s + "L";}
else if (s.charAt(i) == L){
s = s + "R";}
else {s = s + "F";}
//s = s s.charat(i); }//for
顺便说一句,完整的练习是获得一个随机字符串(例如rfflf),添加一个r,然后在转弯顺序中添加给定的字符串,然后替换为l和r。
首先,您必须小心自己的类型。s.charAt(i)
返回char
类型(考虑到该方法的名称并不奇怪),但是您将其与String
"R"
进行了比较。这不会编译,即使这样做也行不通。字符和弦是不同的野兽,永远不会等于。
char
文字由 single 引用,例如 'R'
。
此代码是我认为您与代码绑定的内容:
String result = "";
if (s.charAt(i) == 'R') {
result = result + "L"; // you could code + 'L' too - both will work
}
请注意,您尝试修改原始字符串也无法正常工作。根据我的代码使用新字符串。