Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将字符串中的字符与字母进行比较?_Java_Replace_Char_Compare - Fatal编程技术网

Java 将字符串中的字符与字母进行比较?

Java 将字符串中的字符与字母进行比较?,java,replace,char,compare,Java,Replace,Char,Compare,我想将字符串中的一个字符与字母“R”进行比较。因此,我想检查字符串中I位置上的字符是“R”、“L”还是“F” 这是我的代码,但它没有单词。。。 我是一名Java初学者,对于改进代码并使其工作的每一个想法都非常高兴 for (int i = s.length()-2; i >= 0; i--){ if (s.charAt(i) == "R"){ s = s + "L";} else if

我想将字符串中的一个字符与字母“R”进行比较。因此,我想检查字符串中
I
位置上的字符是“R”、“L”还是“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); }//为了


顺便说一句,完整的练习是获取一个随机字符串(例如RFFLF),添加一个R,然后以反转顺序添加给定字符串,并(在添加的字符串中)用L替换每个R,用R替换每个L。首先,您必须小心键入
s.charAt(i)
返回一个
char
类型(考虑到方法的名称,这并不奇怪),但是您正在将它与
字符串
“R”
进行比较。这不会编译,即使编译了,也不会工作;魔术师和魔术师是两种不同的动物,从来都不平等

char
文本由单引号分隔,例如
'R'

我认为您将此代码与代码绑定:

String result = "";
if (s.charAt(i) == 'R') {
    result = result + "L"; // you could code + 'L' too - both will work
}

请注意,修改原始字符串的尝试也不会起作用。根据我的代码使用新字符串。更容易理解和理解。

谢谢您的回答。我以前没有使用过java,所以我是一个真正的初学者。s.charAt(i)是字符而不是字符串的问题听起来很合乎逻辑;)我不知道为什么我以前没有考虑过:)当我试图解决这个问题时,我找到了另一种方法使程序工作。我将s.charAt(I)与(char)85(85是“R”的Ascii数)进行了比较。它也可以工作,现在程序修改原始字符串。@dino1995没问题
(char)85
实际上与
'R'
相同,但我们都知道哪个更容易阅读。好的,我想我现在已经理解了“R”和“R”之间的区别:)谢谢:)