fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. GeradorCnpj gerador = new GeradorCnpj();
  13. String cnpj = gerador.geraCNPJ();
  14. System.out.println(cnpj);
  15. }
  16. }
  17. class GeradorCnpj {
  18. public String geraCNPJ() throws Exception {
  19. int digito1 = 0, digito2 = 0, resto = 0;
  20. String nDigResult;
  21. String numerosContatenados;
  22. String numeroGerado;
  23. Random numeroAleatorio = new Random();
  24. //numeros gerados
  25. int n1 = numeroAleatorio.nextInt(10);
  26. int n2 = numeroAleatorio.nextInt(10);
  27. int n3 = numeroAleatorio.nextInt(10);
  28. int n4 = numeroAleatorio.nextInt(10);
  29. int n5 = numeroAleatorio.nextInt(10);
  30. int n6 = numeroAleatorio.nextInt(10);
  31. int n7 = numeroAleatorio.nextInt(10);
  32. int n8 = numeroAleatorio.nextInt(10);
  33. int n9 = numeroAleatorio.nextInt(10);
  34. int n10 = numeroAleatorio.nextInt(10);
  35. int n11 = numeroAleatorio.nextInt(10);
  36. int n12 = numeroAleatorio.nextInt(10);
  37. int soma = n12*2 + n11*3 + n10*4 + n9*5 + n8*6 + n7*7 + n6*8 + n5*9 + n4*2 + n3*3 + n2*4 + n1*5;
  38. int valor = (soma / 11)*11;
  39. digito1 = soma-valor;
  40. //Primeiro resto da divisão por 11.
  41. resto = (digito1 % 11);
  42. if(digito1 < 2){
  43. digito1 = 0;
  44. }
  45. else {
  46. digito1 = 11-resto;
  47. }
  48. int soma2 = digito1*2 + n12*3 + n11*4 + n10*5 + n9*6 + n8*7 + n7*8 + n6*9 + n5*2 + n4*3 + n3*4 + n2*5 + n1*6 ;
  49. int valor2 = (soma2 / 11)*11;
  50. digito2 = soma2-valor2;
  51. //Primeiro resto da divisão por 11.
  52. resto = (digito2 % 11);
  53. if(digito2 < 2){
  54. digito2 = 0;
  55. }
  56. else {
  57. digito2 = 11-resto;
  58. }
  59. //Conctenando os numeros
  60. numerosContatenados = String.valueOf(n1) + String.valueOf(n2) +"."+ String.valueOf(n3) + String.valueOf(n4) +
  61. String.valueOf(n5) +"."+ String.valueOf(n6) + String.valueOf(n7) +String.valueOf(n8)+"/"+
  62. String.valueOf(n9) + String.valueOf(n10) + String.valueOf(n11) +
  63. String.valueOf(n12)+"-";
  64. //Concatenando o primeiro resto com o segundo.
  65. nDigResult = String.valueOf(digito1) + String.valueOf(digito2);
  66. numeroGerado = numerosContatenados+nDigResult;
  67. System.out.println("Digito 2 ->"+digito2);
  68. System.out.println("CNPJ Gerado " + numeroGerado);
  69. return numeroGerado;
  70. }
  71. public String mostraResultado() throws Exception{
  72. String resultadoCNPJ = geraCNPJ();
  73. return resultadoCNPJ;
  74. }
  75. }
Success #stdin #stdout 0.05s 27796KB
stdin
Standard input is empty
stdout
Digito 2 ->0
CNPJ Gerado 53.344.762/2453-60
53.344.762/2453-60