무작위로 생성 된 16 자리 숫자를 java.But에서 만들고 싶습니다. 첫 번째 두 자리가 "52"가되어야합니다. 예 : 89-7894-2435-1967. 난수 생성기를 사용하여 14 자리 숫자를 만든 다음 정수를 더한다. 5200 0000 0000 0000. 비슷한 문제를 찾으려고 노력했지만 유용하다고 생각하지 못했습니다. 나는 수학적 방법에 익숙하지 않다. 아마도 나를 위해 문제를 해결할 수있을 것이다.첫 번째 숫자가 임의의 16 자리 숫자를 만드는 방법은 무엇입니까?
답변
, 당신은 당신이 할 것 같은, 임의의 14 자리 번호를 생성해야합니다
long first14 = (long) (Math.random() * 100000000000000L);
그런 다음 당신이 처음에
52
를 추가합니다.
long number = 5200000000000000L + first14;
똑같이 잘 작동하고 Math.random()
내부 Random
객체 생성하기 때문에, 메모리를 절약 할 또 다른 방법 : nextLong() % n
이 Math.random()
달리 완벽하게 무작위 분포를 제공하지 않습니다
//Declare this before you need to use it
java.util.Random rng = new java.util.Random(); //Provide a seed if you want the same ones every time
...
//Then, when you need a number:
long first14 = (rng.nextLong() % 100000000000000L) + 5200000000000000L;
//Or, to mimic the Math.random() option
long first14 = (rng.nextDouble() * 100000000000000L) + 5200000000000000L;
참고. 그러나 테스트 데이터를 생성하고 암호로 안전 할 필요는 없지만 올바르게 작동합니다. 사용하는 것은 당신에게 달려 있습니다.
- 임의의 14 자리 숫자를 만듭니다.
Math.random
- 처음에 "52"
String
에 연결하십시오. - 은
Integer.parseInt(String)
방법
불행히도 첫 번째 단계를 수행하는 방법을 설명하지 않았습니다. 'Random.nextLong()'은'Random.nextInt (bound)'와 달리 바인딩을 지정할 수 없으므로 사소한 일이 아닙니다. – ajb
거기에 대한 많은 예제가 있습니다 ... 나는 생각하기에 충분하다고 생각합니다 ... –
당신은 14 개 임의의 숫자를 생성 한 후 시작 "(52)"에 추가 할 수 있습니다로 문자열을 변환합니다. 예 : 먼저
public class Tes {
public static void main(String[] args) {
System.out.println(generateRandom(52));
}
public static long generateRandom(int prefix) {
Random rand = new Random();
long x = (long)(rand.nextDouble()*100000000000000L);
String s = String.valueOf(prefix) + String.format("%014d", x);
return Long.valueOf(s);
}
}
Random rand = new Random();
String yourValue = String.format((Locale)null, //don't want any thousand separators
"52%02d-%04d-%04d-%04d",
rand.nextInt(100),
rand.nextInt(10000),
rand.nextInt(10000),
rand.nextInt(10000));
- 1. 10 자리 숫자를 16 진수 문자열로 변환
- 2. 충돌없이 asp.net에서 임의의 고유 16 자리 숫자를 생성하는 방법
- 3. 숫자 열에없는 임의의 5 자리 숫자를 생성하십시오.
- 4. Java에서 임의의 9 자리 숫자를 생성하는 방법은 무엇입니까?
- 5. 버튼으로 임의의 6 자리 숫자를 생성하는 방법은 무엇입니까?
- 6. 문자열에서 첫 번째 숫자를 추출합니다.
- 7. 문자열에서 첫 번째 숫자를 추출하십시오.
- 8. 어떻게하면 두 번째 텍스트 상자에 두 번째 임의의 숫자가 생성됩니까
- 9. 데이터베이스에 임의의 숫자를 저장하는 올바른 방법은 무엇입니까?
- 10. 최대 숫자가 두 자리 숫자를 무시하는 이유는 무엇입니까?
- 11. 임의의 12 자리 숫자를 어떻게 생성합니까?
- 12. 첫 번째 서블릿을 만드는 방법은 무엇입니까?
- 13. 파일에서 임의의 숫자와 숫자를 비교하는 방법은 무엇입니까?
- 14. 첫 번째 문자는 jquery를 사용하는 숫자가 아니어야합니다.
- 15. easy68k를 사용하여 65에서 74까지의 범위에서 임의의 숫자를 만드는 방법은 무엇입니까?
- 16. 임의의 숫자를 사용하여 HTML 테이블을 만드는 가장 좋은 방법은 무엇입니까
- 17. 0에서 1 사이의 4 자리수까지 임의의 숫자를 만드는 방법은 무엇입니까?
- 18. jquery에서 제로 패딩을 사용하여 임의의 숫자를 만드는 방법은 무엇입니까?
- 19. 시스템 시간을 가져 오는 nasm에서 임의의 숫자를 만드는 방법은 무엇입니까?
- 20. 첫 번째 숫자를 반환하는 정규식
- 21. 첫 번째 레이블의 번호를 두 번째 레이블보다 크게 만드는 방법
- 22. 임의의 숫자가
- 23. varchar에서 5 자리 숫자를 찾는 방법은 무엇입니까?
- 24. C에서 12 자리 숫자를 사용하는 방법은 무엇입니까?
- 25. Excel에서 4 자리 숫자를 강제하는 방법은 무엇입니까?
- 26. 임의의 두 자리 숫자에 대한 정규식
- 27. 숫자를 16 진수 문자열로 포맷하는 방법은 무엇입니까?
- 28. 두 번째 숫자가 첫 번째 숫자보다 크거나 작은 지 확인하십시오.
- 29. 두 번째 숫자를 출력하는 방법은 무엇입니까?
- 30. 숫자가 겹치지 않게 1에서 39까지 임의의 숫자를 생성하려면 어떻게해야합니까?
(의사) 난수 생성. 접두사 '52'로 붙이시겠습니까? – matcheek
하나의 Google 검색. 나머지는 이것으로 쉬워야합니다. http://stackoverflow.com/questions/3709521/how-do-i-generate-a-random-n-digit-integer-in-java-using-the-biginteger-class –
예, 생각했습니다. 뿐만 아니라 어떻게해야할지 모르겠다. 이것은 내 문제였다. –