我正在使用contains来查看String(A)是否可以生成String(B)(均来自用户)

package trabajogrupal;

import java.util.Scanner;

public class TrabajoGrupal {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        char resp1 = 's';
        String resp2 = "";
        while (resp1 == 's') {
            System.out.println("Ingrese la primer cadena ");
            String cadena = in.nextLine().toLowerCase();
            System.out.println("Ingrese la segunda cadena ");
            String cadena1 = in.nextLine().toLowerCase();
            if (cadena.contains(cadena1)) {
                System.out.println("La cadena " + cadena + " puede generar la cadena " + cadena1);
            } else {
                System.out.println("La cadena " + cadena + " no puede generar la cadena " + cadena1);
            }
            System.out.println("Desea continuar ");
            resp2 = in.nextLine();
            resp2 = resp2.toLowerCase();
            resp1 = resp2.charAt(0);
        }
    }
}


第一个字符串应包含第二个字符串,但发生的情况是它不断进入else语句。为什么?

最佳答案

逐步浏览字符串B中的所有字符,并检查该字符是否在字符串A中。
通过使用AN.index Of(B中的每个字符)来执行此操作。只要不返回-字符A在字符串A中。

08-05 05:06