Membuat Aksara Secara Random

Sebelumnya agan sudah mengetahui wacana angka random atau acak, lalu dikarenakan karakter atau char itu di koding memakai integer, maka sanggup disimpulkan bahwa menciptakan atau menggenerasikan karakter yakni sama dengan menggenerasikan integer. Kali ini akan dibahas untuk menciptakan karakter secara acak, yaitu untuk:
  • Digit angka
  • Huruf kecil
  • Huruf besar
  • Simbol, huruf, angka (variasi karakter)

Sebelumnya agan sudah mengetahui wacana  Membuat Karakter Secara Random

Karena kegiatan komputer itu memproses data angka dan karakter, maka tentunya sangat penting untuk memahami karakter-karakter dan bagaimana cara memprosesnya.

Setelah di bahas sebelumnya pada bab char, unicode dan ASCII,  setiap karakter itu mempunyai Unicode yang berbeda diantara 0 dan FFFF pada heksadesimal (atau 65535 dalam desimal). Makara untuk menciptakan karakter random yakni dengan cara menciptakan integer secara random dari 0 dan 65535, meggunakan lisan di bawah ini:

(int)(Math.random() * (65535 + 1))

Dikarenakan 0 <=Math.random<1.0, maka anda harus menambahkan 1 ke 65535.

Selanjutnya bagaimana cara untuk menciptakan karakter aksara kecil secara acak?

Sebelumnya perlu diketahui bahwa Unicode untuk aksara kecil yakni integer berlanjut yang dimulai dari Unicode untuk aksara a, b, c, d..... hingga z.

Unicode untuk a  dan z adalah:
(int)'a'  dan (int)'z'

Sehingga integer acak antara (int)'a' dan (int)'z' yakni :

(int)((int)'a' + Math.random() * ((int)'z' - (int)'a' + 1))

Sebelumnya juga anda sudah mengetahui mengenai casting char dengan tipe numerik. Semua operator numerik sanggup diaplikasikan pada operand dari char.

Oleh alasannya yakni itu arahan sebelumnya sanggup disederhanakan menjadi 'a' + Math.random() * ('z' - 'a' + 1), dan pengacakan aksara kecil sanggup dilakukan dengan (char)('a' + Math.random() * ('z' - 'a' + 1)).

Demikian pula halnya dengan karakter random diantara dua karakter yaitu karakter1 dan karakter2, dimana karakter1 < karakter2, sanggup dilakukan sebagai berikut:

(char)(karakter1 + Math.random() * (karakter2 – karakter1 + 1))

Berikut ini yakni pola kegiatan untuk menciptakan karakter secara random:

  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102
import java.util.Scanner;  public class TestKarakterAcak {    public static void main (String args []){      Scanner input = new Scanner (System.in);      System.out.print("Berapa jumlah karakter acak yang anda inginkan: ");   int jumlahKarakter = input.nextInt();      System.out.print("Berapa jumlah karakter dalam setiap baris yang anda inginkan: ");   int jumlahKarakterPerbaris = input.nextInt();      System.out.println("Karakter acak digit angka adalah: ");      for(int i = 0; i <jumlahKarakter; i++){        char karakter =  TestKarakterAcak.buatKarakterDigitAngkaAcak();    if((i + 1) % jumlahKarakterPerbaris == 0){          System.out.println(karakter);    }        else     System.out.print(karakter);   }      System.out.println("Karakter acak aksara kecil adalah: ");      for(int i = 0; i <jumlahKarakter; i++){        char karakter =  TestKarakterAcak.buatKarakterHurufKecilAcak();    if((i + 1) % jumlahKarakterPerbaris == 0){          System.out.println(karakter);    }        else     System.out.print(karakter);   }      System.out.println("Karakter acak aksara besar adalah: ");      for(int i = 0; i <jumlahKarakter; i++){        char karakter =  TestKarakterAcak.buatKarakterHurufBesarAcak();    if((i + 1) % jumlahKarakterPerbaris == 0){          System.out.println(karakter);    }        else     System.out.print(karakter);   }      System.out.println();   System.out.print("Berikut ini yakni pola karakter acak antara '@' dan '*': \n");         for(int i = 0; i <jumlahKarakter; i++){        char karakter =  TestKarakterAcak.buatKarakterAcakVariasi('@', '*');    if((i + 1) % jumlahKarakterPerbaris == 0){          System.out.println(karakter);    }        else     System.out.print(karakter);   }        }    public static char buatKarakterAcak(char karakter1, char karakter2){   return (char)(karakter1 + Math.random() * (karakter2 - karakter1 + 1));  }    public static char buatKarakterDigitAngkaAcak(){   return buatKarakterAcak('0', '9');  }    public static char buatKarakterHurufKecilAcak(){   return buatKarakterAcak('a', 'z');  }    public static char buatKarakterHurufBesarAcak(){   return buatKarakterAcak('A', 'Z');  }    public static char buatKarakterAcakVariasi(char dariChar, char keChar){      int unicode = dariChar + (int)((keChar - dariChar + 1) * Math.random());   return (char)unicode;   }    public static char buatKarakterAcakVariasi(){   return buatKarakterAcakVariasi('\u0000', '\uFFFF');  }  } 

Output:
Berapa jumlah karakter acak yang anda inginkan: 100
Berapa jumlah karakter dalam setiap baris yang anda inginkan: 25
Karakter acak digit angka adalah:
6673672171118001397594311
5658340106010462402625436
9871665455839437542110804
1601351116117117572397649
Karakter acak aksara kecil adalah:
etmkvljhjhodeqatzmznfzqbh
gwtlpspawbrrqlfptrrxafpga
vyjjszmfvymjlfvaxsugdgwdc
fsoqgssjvadvwdwsjpmstfeju
Karakter acak aksara besar adalah:
BWADOINCBKSFSEKJKEFSWABES
BHQYPUMIWBIMIXJKPPAWWVKVY
PCDWIPFOOADHFYMALBSEHZXIQ
IQJIKFSJQTPKCETPVECPHLZNL

Berikut ini yakni pola karakter acak antara '@' dan '*':
7:80;:<;9>3413:/4520?7436
-/;6;-45==:@81=>?>,>69,;=
;-9=5,?=1<=;=7.17=,/,79?>
:6=19587?06@-54:;0.;6=@89


Belum ada Komentar untuk "Membuat Aksara Secara Random"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel