Advertisement
aidandeno

Dynamic Grid From User Input

Jul 31st, 2014
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.01 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.Arrays;
  3.  
  4. public class Question3
  5. {
  6.     private static String[][] grid = new String[3][3];
  7.    
  8.     public static void main(String[] args)
  9.     {
  10.         Scanner sourceValues = new Scanner(System.in);
  11.        
  12.         String A1, B1, C1, A2, B2, C2, A3, B3, C3;
  13.        
  14.         A1 = sourceValues.next();
  15.         B1 = sourceValues.next();
  16.         C1 = sourceValues.next();
  17.         A2 = sourceValues.next();
  18.         B2 = sourceValues.next();
  19.         C2 = sourceValues.next();
  20.         A3 = sourceValues.next();
  21.         B3 = sourceValues.next();
  22.         C3 = sourceValues.next();        
  23.        
  24.         grid[0] = new String[]{A1, B1, C1};
  25.         grid[1] = new String[]{A2, B2, C2};
  26.         grid[2] = new String[]{A3, B3, C3};
  27.        
  28.         for (int i=0; i<3; i++)
  29.         {
  30.             for (int j=0; j<3; j++)
  31.             {
  32.                 if (grid[i][j].startsWith("="))
  33.                 {
  34.                     grid[i][j] = evaluate(grid[i][j]);
  35.                 }
  36.             }
  37.         }
  38.        
  39.         for (int i=0; i<3; i++)
  40.         {
  41.             for (int j=0; j<3; j++)
  42.             {
  43.                 System.out.print(grid[i][j] + " ");
  44.             }
  45.         System.out.println();
  46.         }
  47.     }
  48.    
  49.     public static String evaluate(String value)
  50.     {  
  51.         int total;
  52.         if (value.length() > 3)
  53.         {
  54.             total = returnGridValue(value.substring(0,3));
  55.         }
  56.         else
  57.         {
  58.             total = returnGridValue(value.substring(0));
  59.         }
  60.         for (int t=3; t < value.length(); t += 3)
  61.         {
  62.             if (Character.toString(value.charAt(3)).equals("+"))
  63.                 total += returnGridValue(value.substring(t+1,t+3));
  64.             else
  65.                 total -= returnGridValue(value.substring(t+1));
  66.         }
  67.         return String.valueOf(total);
  68.     }
  69.    
  70.     public static int returnGridValue(String coords)
  71.     {
  72.         if (coords.startsWith("=")){
  73.             coords = coords.substring(1);}
  74.         String valueAtCoords;
  75.         switch (coords) {
  76.             case "A1":
  77.                 valueAtCoords = grid[0][0];
  78.                 break;
  79.             case "B1":
  80.                 valueAtCoords = grid[0][1];
  81.                 break;
  82.             case "C1":
  83.                 valueAtCoords = grid[0][2];
  84.                 break;
  85.             case "A2":
  86.                 valueAtCoords = grid[1][0];
  87.                 break;
  88.             case "B2":
  89.                 valueAtCoords = grid[1][1];
  90.                 break;
  91.             case "C2":
  92.                 valueAtCoords = grid[1][2];
  93.                 break;
  94.             case "A3":
  95.                 valueAtCoords = grid[2][0];
  96.                 break;
  97.             case "B3":
  98.                 valueAtCoords = grid[2][1];
  99.                 break;
  100.             default:
  101.                 valueAtCoords = grid[2][2];
  102.                 break;
  103.         }
  104.         int intValueAtCoords = Integer.parseInt(valueAtCoords);
  105.         return intValueAtCoords;    
  106.     }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement