単語を検閲するプログラムを作成しようとしていましたが、問題がありましたので、基本的なコードに戻ってテストしました。私は奇妙な結果に出くわしています。文字列が特定の文字列と等しいときにプログラムに気づかない
import java.util.Scanner;
public class TextCensor
{
public static void main(String[] args)
{
String input;
Scanner keyboard = new Scanner(System.in);
input = keyboard.nextLine();
int length = input.length() - 1;
if (length + 1 >= 3)
{
for (int i=0; i<(length - 1); i=i+1)
{
char first = input.charAt(i);
char second = input.charAt(i+1);
char third = input.charAt(i+2);
String censorCheck = "" + first + second + third;
if (censorCheck == "tag")
{
System.out.println("success");
}
else
{
System.out.println(censorCheck);
}
}
}
else
{
System.out.println(input);
}
}
}
私は、入力文字列「adtagは、」私は次のような出力が得られます場合:
adt
dta
tag
まだ「成功」に等しい私はcensorCheck印刷されているという事実にもかかわらず、印刷することはありません"タグ"。
使用 '.equals()'値の平等のための – Ian
ようこそスタックオーバーフローします。あなたの次の質問のため...先の研究をする時間を取ってください。あなたはどのくらいの頻度で人々がこの質問をし続けているか信じられません... – GhostCat
@Jägermeisterlold(私はdownvoteが誰から来たのだろう) – Craig