[JAVA] Zeichenfolgenvergleich: Ich war in das Skill-Check-Problem von Paisa verwickelt

Ich war in das auf Paiza veröffentlichte Skill-Check-Problem "Zeichenkettenvergleich" (* Problem der Code-Offenlegung OK) verwickelt, also habe ich es zusammengefasst.

Der Inhalt des Problems ist "Vergleichen Sie die beiden Eingabezeichenfolgen"

Grund, erwischt zu werden

Ich wusste, dass es eine String-Vergleichsfunktion gibt, aber ich wusste nicht, wie ich das in dem Video machen sollte, auf das ich mich bezog, also hatte ich eine vorgefasste Vorstellung, dass ich sie nicht verwenden würde.

Falscher Code



import java.util.*;

public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String line1 = sc.nextLine();
        String line2 = sc.nextLine();
              
        if( line1 == line2 ){
           System.out.println("OK"); 
        }
        else{
           System.out.println("NG"); 
        }
        
    }
}

Auch wenn das Ausgabeergebnis dieselbe Zeichenfolge ist, wird "NG"

Geben Sie zur Bestätigung den folgenden Code ein

Versuchen Sie zu debacken



import java.util.*;


public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String line1 = sc.nextLine();
        String line2 = sc.nextLine();
        
        //Überprüfen Sie die if-Anweisung
        String line1 = "moji";
        String line2 = "moji";

        //Bestätigung der Eingabe
        System.out.println(line1);
        System.out.println(line2);
        
        if( line1 == line2 ){
           System.out.println("OK"); 
        }
        else{
           System.out.println("NG"); 
        }
        
    }
}
Ausgabeergebnis;
moji
moji
ok

Es ist kein Problem, die if-Anweisung und die Zeicheneingabe abzurufen. Immerhin denke ich, dass der Zeichenfolgenvergleich schlecht ist (Bedingung der if-Anweisung) und bestätige ihn und komme zur folgenden Seite. [Einführung in Java] Vergleichen von Strings (String) ("==" und "equals") Zum Äquivalenzvergleich des String-Typs in Java

Richtiger Code



import java.util.*;


public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String line1 = sc.nextLine();
        String line2 = sc.nextLine();
        
        if( line1.equals(line2)){
           System.out.println("OK"); 
        }
        else{
           System.out.println("NG"); 
        }
        
    }
}

Recommended Posts

Zeichenfolgenvergleich: Ich war in das Skill-Check-Problem von Paisa verwickelt
Die Geschichte des einfachen String-Vergleichs in Java
Ich habe die Quelle von String gelesen
[Ruby] Ich möchte nur das ungerade Zeichen in der Zeichenfolge ausgeben
[Java] Überprüfen Sie, ob die Zeichenfolge nur aus Leerzeichen besteht (= Leerzeichen)
[Löschen Sie den ersten Buchstaben der Zeichenfolge] Ruby
Ich habe die Grundlagen der Zeicheneingabe verstanden
Der Teil, dem ich in "Einführung in Ajax in Java-Webanwendungen" von NetBeans verfallen war
# 1_JAVA Ich möchte die Indexnummer durch Angabe eines Zeichens in der Zeichenfolge erhalten
Ich war süchtig nach NoSuchMethodError in Cloud-Endpunkten
Ich war süchtig nach der Aufzeichnung des zugehörigen Modells
Über das Problem des Deadlocks bei der Parallelverarbeitung in gem'sprockets '4.0
Wurde im Basisjahr der Java-Kalenderwoche durchgeführt
Überprüfen Sie die Abhängigkeit eines bestimmten Maven-Artefakts in Coursier
Fügen Sie die Datei in die Eigenschaften eines Strings mit Spring XML-Konfiguration ein
Das Problem, dass alle Daten in der Tabelle angezeigt wurden, wurde behoben
Ich war süchtig nach Laradock + VSCode + xdebug
Ich war verwirrt, weil es eine Aufteilung im Array gab
Ich möchte die Methode des Controllers kennen, bei der die Ausnahme im ExceptionHandler von Spring Boot ausgelöst wurde