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