Naqsh namunalarini solishtiring

I have one string that contains String s1="1 2 7 8"

now suppose I have two string String s2="1 7 8" and String s3="1 2 8"

shuning uchun bu ikki satrni birinchi bo'lib taqqoslab, u haqiqiy ga qaytib borishi kerak.

Lekin s1.contanis (s2) ni o'qigach, noto'g'ri ko'rsatiladi.

Ushbu turdagi naqshlarni har biri bilan taqqoslash va birma-bir taqqoslashning boshqa oson yo'li bormi?

0
php-da o'xshash_text [ buni tekshirib ko'ring ] ... bir xil savol bu erda ham .
qo'shib qo'ydi muallif Prasanth, manba

7 javoblar

Bu s1 tarkibidagi barcha elementlarni s2 (bo'sh joy bilan ajratilgan) tekshirganligini tekshirish vazifasini bajaradi:

Arrays.asList(s1.split(" ")).containsAll(Arrays.asList(s2.split(" ")));

Komple kod:

public class StringContainsNumbers {
    public static void main(String[] args) {
        final String s1 = "1 2 7 8";
        final String s2 = "1 7 8";
        final String s3 = "1 2 8";

        System.out.println(stringContainsNumbers(s1, s2));
        System.out.println(stringContainsNumbers(s1, s3));
    }

    private static boolean stringContainsNumbers(String s1, String s2) {
        return Arrays.asList(s1.split(" ")).containsAll(Arrays.asList(s2.split(" ")));
    }
}
5
qo'shib qo'ydi
Juda katta rahmat, men izlayotgan narsa shu.
qo'shib qo'ydi muallif commit, manba

"1 2 7 8" qatoridagi "1 7 8" kodini tekshiradi.

StringTokenizer usulidan foydalaning.

1
qo'shib qo'ydi

s1, albatta, s2 o'z ichiga olmaydi.

nima qilmoqchisiz? Agar haqiqiy qiymatlarni taqqoslashingiz kerak bo'lsa, bo'linadi va butun sonlarga aylantiriladi

1
qo'shib qo'ydi
u yolg'onni qaytarishini tushunadi. Bu erda savol qanday qilib amalga oshiriladi. buni qo'llab-quvvatlaydigan biron bir kutubxona mavjudligini bilishni xohlaydi. U buni mag'lubiyatga solish orqali amalga oshirish mumkinligini biladi.
qo'shib qo'ydi muallif zerocool, manba

String ustida mavjud usuli faqat s1 butunlay s2 bo'lsa, rostini qaytaradi. Boshqa so'z bilan aytganda

 String s1 = "hello world";
 s1.contains( "llo" );

Haqiqatan ham qaytadi

 s1.contains( "ll w" );

yolg'onchi bo'ladi.

S1 va s2 ni belgilashingiz kerak va keyin s1 elementlarining barcha s2 elementlari mavjudligini tekshiring.

0
qo'shib qo'ydi

you can do Google search "Java - String matches() Method" You are going to find many links. One of them is: http://www.tutorialspoint.com/java/java_string_matches.htm

0
qo'shib qo'ydi

Quyidagi koddan foydalaning:

public class Main {
 public static void main(String[] args) {
    String one="1 7 8";
    String two= "1 2 8";
    List fistList= Arrays.asList(one.split(" "));
    List secondList= Arrays.asList(two.split(" "));
    boolean isContainAll=fistList.containsAll(secondList);
    System.out.println(isContainAll);
 }
}
0
qo'shib qo'ydi

S1.contains (s2) dan foydalanganda, u simvolda bitta harfni emas, balki butun magistralni taqqoslamaydi. Masalan, agar s1 qiymati "2 1 7 8" bo'lsa, s1.contains (s2) rost bo'ladi.

0
qo'shib qo'ydi