Guest User

Untitled

a guest
Jun 25th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.11 KB | None | 0 0
  1. public abstract class ArithmeticTable {
  2.  
  3.     protected int columns;
  4.     protected int rows;
  5.     protected int[][] table;
  6.     protected String operand;
  7.  
  8.     public ArithmeticTable(int columns, int rows) {
  9.  
  10.         this.columns = columns;
  11.         this.rows = rows;
  12.         table = new int[columns][rows];
  13.  
  14.         for (int x = 0; x < columns; x++) {
  15.             for (int y = 0; y < rows; y++) {
  16.                 table[x][y] = evaluate(x, y);
  17.             }
  18.         }
  19.     }
  20.  
  21.     public abstract int evaluate(int a, int b);
  22.  
  23.     public void print() {
  24.  
  25.         System.out.println("Operand: " + operand);
  26.  
  27.         for (int i = 0; i < columns; i++) {
  28.             for (int j = 0; j < rows; j++) {
  29.                 System.out.print(evaluate(i, j) + " ");
  30.             }
  31.             System.out.println();
  32.  
  33.         }
  34.  
  35.         System.out.println();
  36.         System.out.println();
  37.  
  38.     }
  39. }
  40.  
  41.  
  42. ////////////////////////////////////////////////////////////////
  43.  
  44.  
  45.  
  46. public class MultiplicationTable extends ArithmeticTable{
  47.  
  48.     public MultiplicationTable(int columns, int rows) {
  49.         super(columns, rows);
  50.         operand = "*";
  51.     }
  52.    
  53.     @Override
  54.     public int evaluate(int a, int b) {
  55.         return a * b;
  56.     }
  57.  
  58. }
  59. ///////////////////////////////////////////////////////////
  60.  
  61.  
  62. public class DivisionTable extends ArithmeticTable {
  63.  
  64.     public DivisionTable(int columns, int rows) {
  65.         super(columns, rows);
  66.         operand = "/";
  67.  
  68.     }
  69.  
  70.     @Override
  71.     public int evaluate(int a, int b) {
  72.         if(b == 0){
  73.             return 0;
  74.         }
  75.         return a / b; // Kommer ske en heltalsdivision, dvs 5/9 = 0, 9/5 = 1.
  76.                         // Måste använda double för att dividera "på riktigt",
  77.                         // dvs 5/9 = 0,555..
  78.     }
  79.  
  80. }
  81.  
  82. /////////////////////////////////////////////////////
  83.  
  84.  
  85. public class SubtractionTable extends ArithmeticTable{
  86.  
  87.     public SubtractionTable(int columns, int rows) {
  88.         super(columns, rows);
  89.         operand = "-";
  90.     }
  91.  
  92.     @Override
  93.     public int evaluate(int a, int b) {
  94.         return a - b;
  95.     }
  96.  
  97. }
  98. ////////////////////////////////////////////////
  99.  
  100.  
  101. public class AdditionTable extends ArithmeticTable{
  102.  
  103.     public AdditionTable(int columns, int rows) {
  104.         super(columns, rows);
  105.         operand = "+";
  106.     }
  107.  
  108.     @Override
  109.     public int evaluate(int a, int b) {
  110.         return a + b;
  111.     }
  112.  
  113. }
  114. /////////////////////////////////
Add Comment
Please, Sign In to add comment