Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Random;
- class Obraz {
- private int size_n;
- private int size_m;
- private char[][] tab;
- private int[] histogram;
- private int charForThreads = 0;
- public Obraz(int n, int m) {
- this.size_n = n;
- this.size_m = m;
- tab = new char[n][m];
- final Random random = new Random();
- for(int i=0;i<n;i++) {
- for(int j=0;j<m;j++) {
- tab[i][j] = (char)(random.nextInt(94)+33); // ascii 33-127
- System.out.print(tab[i][j]+" ");
- }
- System.out.print("\n");
- }
- System.out.print("\n\n");
- histogram = new int[94];
- clear_histogram();
- }
- public void clear_histogram(){
- for(int i=0;i<94;i++) histogram[i]=0;
- }
- public void calculate_histogram(){
- for(int i=0;i<size_n;i++) {
- for(int j=0;j<size_m;j++) {
- for(int k=0;k<94;k++) {
- if(tab[i][j] == (char)(k+33)) histogram[k]++;
- }
- }
- }
- }
- public void print_histogram(){
- for(int i=0;i<94;i++) {
- System.out.print((char)(i+33)+" "+histogram[i]+"\n");
- }
- }
- public String getValueAtChar(char c)
- {
- String sign = "";
- int value = histogram[(int) (c-33)];
- for(int i = 0; i<value;i++){
- sign +="=";
- }
- return sign;
- }
- public synchronized String getNextChar()
- {
- if (charForThreads == 94){
- return null;
- }
- int value = histogram[charForThreads];
- String sign = (char)(charForThreads + 33) + " ";
- for (int i = 0; i < value; i++) {
- sign += "=";
- }
- charForThreads++;
- return sign;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement