J'ai été pris dans le problème de vérification des compétences "Comparaison de chaînes de caractères" (* problème de divulgation de code OK) publié sur Paiza, donc je l'ai résumé.
Le contenu du problème est "Comparez les deux chaînes d'entrée"
Je savais qu'il y avait une fonction de comparaison de chaînes, mais je ne savais pas comment le faire dans la vidéo dont je parlais, alors j'avais une idée préconçue que je ne l'utiliserais pas.
code incorrect
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");
}
}
}
Même si le résultat de sortie est la même chaîne de caractères, "NG"
Entrez le code ci-dessous pour confirmer
Essayez de revenir en arrière
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();
//Vérifier si déclaration
String line1 = "moji";
String line2 = "moji";
//Confirmation d'entrée
System.out.println(line1);
System.out.println(line2);
if( line1 == line2 ){
System.out.println("OK");
}
else{
System.out.println("NG");
}
}
}
Résultat de sortie;
moji
moji
ok
Il n'y a aucun problème pour obtenir l'instruction if et l'entrée de caractères. Après tout, je pense que la comparaison de chaînes de caractères est mauvaise (condition de l'instruction if) et confirmez-la et arrive sur le site suivant. [Introduction à Java] Comment comparer des chaînes (String) ("==" et "equals") Concernant la comparaison d'équivalence du type String en Java
Code correct
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