Guest User

Untitled

a guest
Oct 20th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.31 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Random;
  4.  
  5.  
  6. public class Matrix
  7. {
  8.     int lines;
  9.     int columns;
  10.     List<Integer> values = new ArrayList<Integer>();
  11.    
  12.     public int getCountElements()
  13.     {
  14.         return lines * columns;
  15.     }
  16.    
  17.     public int getLines()
  18.     {
  19.         return lines;
  20.     }
  21.    
  22.     public int getColumns()
  23.     {
  24.         return columns;
  25.     }
  26.    
  27.     public void initZeroMatrix()
  28.     {
  29.         int elements = getCountElements();
  30.         for (int i = 0; i<elements; i++)
  31.         {
  32.             values.add(0);
  33.         }
  34.     }
  35.    
  36.     public void creatRandomValues()
  37.     {
  38.         Random rnd = new Random();
  39.         for (int i = 0;i < values.size(); i++)
  40.         {
  41.             values.set(i, rnd.nextInt(20));
  42.         }
  43.            
  44.     }
  45.    
  46.     public boolean isSquare()
  47.     {
  48.         if (this.lines == this.columns)
  49.             return true;
  50.         else
  51.             return false;
  52.     }
  53.    
  54.    
  55.     Matrix(int lines, int columns)
  56.     {
  57.         this.lines = lines;
  58.         this.columns = columns;
  59.         initZeroMatrix();
  60.         System.out.println("Создана матрица с " + lines + " строк и с " + columns + " столбцов.");
  61.         System.out.println("");
  62.     }
  63.    
  64.     public int getValuesElement(int index)
  65.     {
  66.         return values.get(index);
  67.     }
  68.    
  69.     public void addVariablesForElement(int index, int add)
  70.     {
  71.         this.values.set(index, this.values.get(index) + add);
  72.     }
  73.    
  74.     public void addVariablesForIndex(String index, int add)
  75.     {
  76.         int place = getElement(index, false);
  77.         this.values.set(place, this.values.get(place) + add);
  78.     }
  79.    
  80.     public void setVariablesForElement(int index, int value)
  81.     {
  82.         this.values.set(index, value);
  83.     }
  84.    
  85.     public void setVariablesForIndex(String index, int value)
  86.     {
  87.         int place = getElement(index, false);
  88.         this.values.set(place, value);
  89.     }
  90.    
  91.     public int getElementIndex(String index)
  92.     {
  93.         return getElement(index, false);
  94.     }
  95.    
  96.     public int getElementValue(String index)
  97.     {
  98.         return getElement(index, true);
  99.     }
  100.    
  101.     public int getElement(String index, boolean valuesB)
  102.     {
  103.         String[] values = index.split(",");
  104.         int line = Integer.parseInt(values[0]);
  105.         int columns = Integer.parseInt(values[1]);
  106.  
  107.         int indexEl = line * this.columns - (this.columns - columns) - 1;
  108.        
  109.         if (valuesB)
  110.             return this.values.get(indexEl);
  111.         else
  112.             return indexEl;
  113.     }
  114.    
  115.     public String getIndexElement(int number)
  116.     {
  117.         int columns = 1;
  118.         int line = 1;
  119.        
  120.         for (int i = 0; i<number; i++)
  121.         {
  122.             if (columns == lines)
  123.             {
  124.                 line++;
  125.                 columns = 0;
  126.             }
  127.             columns++;
  128.         }
  129.         return (line + "," + columns);
  130.     }
  131.    
  132.    
  133.    
  134.     public void showInfoMatrix()
  135.     {
  136.         System.out.println("");
  137.         System.out.println("================================");
  138.         if (isSquare())
  139.         System.out.println("Матрица квадратна");
  140.         System.out.println("Матрица состоит из " + lines + " строк.");
  141.         System.out.println("Матрица состоит из " + columns + " столбцов.");
  142.         System.out.println("================================");
  143.         System.out.println("");
  144.        
  145.     }
  146.    
  147.     public void showMatrix()
  148.     {
  149.         int elements = getCountElements();
  150.         int steps = 0;
  151.        
  152.         System.out.println("");
  153.         for (int i = 0; i<elements; i++)
  154.         {
  155.             if (steps == 0)
  156.                 System.out.print(" || ");
  157.             System.out.print(getValuesElement(i) + "(" + getIndexElement(i) + ") || ");
  158.             steps++;
  159.            
  160.             if (steps == lines)
  161.             {
  162.                 steps = 0;
  163.                 System.out.println("");
  164.             }
  165.         }
  166.         System.out.println("");
  167.     }
  168.    
  169.  
  170. }
Add Comment
Please, Sign In to add comment