Генератор случайных телефонных номеров для любой страны - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь создать синтетические данные из телефонных номеров из списка стран.

Я считаю, что Google libphonenumber Java-библиотека с портами на Python, C ++ и т. Д. Является хорошим ресурсом.

Возможно ли с помощью этой библиотеки сгенерировать действительных случайных телефонных номеров из списка стран?

С этим кодом, который я написал, я использую их функцию getExampleNumber, но она генерирует одно и то же число каждый раз:

import com.google.i18n.phonenumbers.PhoneNumberUtil;
import com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberType;
import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
import com.google.i18n.phonenumbers.Phonemetadata.PhoneNumberDesc;
import com.google.i18n.phonenumbers.NumberParseException;

public class Driver {
    public static void main(String[] args) {
       // Prints "Hello, World" in the terminal window.
       for (int i=0;i<10;i++)
       {
          System.out.println(Generator());
       }
    }


    public static PhoneNumber  Generator() 
    {
       String regionCode = new String("GB");
       PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
       PhoneNumber exampleNumber =phoneNumberUtil.getExampleNumber(regionCode);
       return exampleNumber;
    }

}

1 Ответ

1 голос
/ 10 апреля 2019

Эта библиотека не предоставляет вам случайные числа, независимо от того, сколько раз вы запускаете свой код, вы всегда получите:

Country Code: 44 National Number: 1212345678

Вы можете взглянуть на их проект на github:

https://github.com/googlei18n/libphonenumber/

И в этой папке вы увидите много прото-файлов:

https://github.com/googlei18n/libphonenumber/tree/master/java/libphonenumber/src/com/google/i18n/phonenumbers/data

Из этих файлов они получают это число, поэтомуэто там жестко закодировано.Нет способа получить его случайно.

...