Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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
如何将IndexOf与引用的char java一起使用_Java_Char_Indexof - Fatal编程技术网

如何将IndexOf与引用的char java一起使用

如何将IndexOf与引用的char java一起使用,java,char,indexof,Java,Char,Indexof,我尝试使用indexOf方法来查找字符是否在单词中,但由于字符无法被取消引用,我假设它应该转换为字符串,我尝试使用这些方法,但它似乎没有进行准确比较-我应该如何在“indexOf”中使用引用的字符。这是我的代码,如果这是我的代码逻辑的一个愚蠢的问题,那么我道歉 guess = JOptionPane.showInputDialog("Enter letter ").toUpperCase().charAt(0); if((String.valueOf(guess)).indexOf

我尝试使用indexOf方法来查找字符是否在单词中,但由于字符无法被取消引用,我假设它应该转换为字符串,我尝试使用这些方法,但它似乎没有进行准确比较-我应该如何在“indexOf”中使用引用的字符。这是我的代码,如果这是我的代码逻辑的一个愚蠢的问题,那么我道歉

  guess = JOptionPane.showInputDialog("Enter letter ").toUpperCase().charAt(0);

    if((String.valueOf(guess)).indexOf(word.toUpperCase())>=0)
    {
        for(int k = 0; k<word.length(); k++)
        {
            if(guess==charwo[k])
            {
                charda[k]=charwo[k];                 
            }           
        }
    }
    else
    {
        guesses = guesses-1;
        System.out.println("guesses left "+guesses);
    }
guess=JOptionPane.showInputDialog(“输入字母”).toUpperCase().charAt(0);
if((String.valueOf(guess)).indexOf(word.toUpperCase())>=0)
{

对于(int k=0;k我认为您使用
indexOf
的方法是错误的。假设您在
word
中查找
guess
的索引(另一种方法没有真正意义),应该是:

word.toUpperCase().indexOf(guess)
这里没有解引用问题,因为有一个函数

可能会使代码的可读性稍高一些,不幸的是,它需要一个
CharSequence
参数(字符串的超类),因此在这种情况下,您需要将
guess
转换为
String
。我通常将原语转换为
String
,如下所示:

word.toUpperCase().contains(""+guess)

虽然我并不是说它比字符串好。valueOf
,但我只是因为它打字少而使用它。

我认为你使用
索引的方法是错误的。假设你在
word
中查找
猜测的索引(另一种方法没有真正意义),它应该是:

word.toUpperCase().indexOf(guess)
这里没有解引用问题,因为有一个函数

可能会使代码的可读性稍高一些,不幸的是,它需要一个
CharSequence
参数(字符串的超类),因此在这种情况下,您需要将
guess
转换为
String
。我通常将原语转换为
String
,如下所示:

word.toUpperCase().contains(""+guess)

虽然我并不是说它比String.valueOf好,但我只是使用它,因为它打字更少。

如果我没有弄错的话,我认为这行是向后的:

if((String.valueOf(guess)).indexOf(word.toUpperCase())>=0)
应该是

if(word.toUpperCase().indexOf(String.valueOf(guess).toUpperCase) >=0)
你也可以这样做

if(word.toUpperCase().contains(String.valueOf(guess).toUpperCase))

如果我没弄错的话,我认为这句话是对的:

if((String.valueOf(guess)).indexOf(word.toUpperCase())>=0)
应该是

if(word.toUpperCase().indexOf(String.valueOf(guess).toUpperCase) >=0)
你也可以这样做

if(word.toUpperCase().contains(String.valueOf(guess).toUpperCase))

是的,非常感谢:)是的,非常感谢:)如果(word.toUpperCase().contains(String.valueOf(guess.toUpperCase))-这似乎对我更有效,谢谢你的帮助(word.toUpperCase().contains(String.valueOf(guess.toUpperCase))-这似乎对我更有效,谢谢