Advertisement
valkata

PlusRemover

Sep 28th, 2017
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.59 KB | None | 0 0
  1. import java.lang.reflect.Array;
  2. import java.util.ArrayList;
  3. import java.util.Scanner;
  4.  
  5. public class plusRemove {
  6.     static char[][] duplicateMatrix;
  7.     public static void main(String[] args) {
  8.         Scanner input = new Scanner(System.in);
  9.  
  10.         ArrayList<String> inputLines = new ArrayList<String>();
  11.  
  12.         inputLines = FillList(input,inputLines);
  13.         char[][] matrix = new char[inputLines.size()][];
  14.         duplicateMatrix = new char[inputLines.size()][];
  15.         matrix = MatrixFill(matrix,duplicateMatrix,inputLines);
  16.  
  17.         matrix = RemovePluses(matrix,duplicateMatrix);
  18.         PrintCleanedMatrix(matrix);
  19.     }
  20.  
  21.     private static void PrintCleanedMatrix(char[][] matrix) {
  22.         for(char[] row : matrix){
  23.             for (char character : row){
  24.                 if(character != '†'){
  25.                     System.out.printf("%c",character);
  26.                 }
  27.             }
  28.             System.out.println();
  29.         }
  30.     }
  31.  
  32.     private static char[][] RemovePluses(char[][] matrix, char[][] duplicateMatrix) {
  33.         for (int i = 1; i < duplicateMatrix.length-1; i++) {
  34.             for (int j = 1; j < duplicateMatrix[i].length-1; j++) {
  35.                 boolean isPlus = false;
  36.                 try{
  37.                     isPlus = duplicateMatrix[i][j] == duplicateMatrix[i][j-1] &&
  38.                             duplicateMatrix[i][j+1] == duplicateMatrix[i][j-1]
  39.                             && duplicateMatrix[i][j+1] == duplicateMatrix[i-1][j]
  40.                             && duplicateMatrix[i-1][j] == duplicateMatrix[i-1][j];
  41.                 }  catch (IndexOutOfBoundsException ex){
  42.                     continue;
  43.                 }
  44.                 if(isPlus){
  45.                     matrix[i][j-1] = '†';
  46.                     matrix[i][j] = '†';
  47.                     matrix[i][j+1] = '†';
  48.                     matrix[i-1][j] = '†';
  49.                     matrix[i+1][j] = '†';
  50.                 }
  51.             }
  52.         }
  53.         return matrix;
  54.     }
  55.  
  56.     private static char[][] MatrixFill(char[][] matrix,char[][] duplicateMatrix ,ArrayList<String> inputLines) {
  57.         for (int i = 0; i < inputLines.size() ; i++) {
  58.             matrix[i] = inputLines.get(i).toCharArray();
  59.             duplicateMatrix[i] = inputLines.get(i).toUpperCase().toCharArray();
  60.         }
  61.         return matrix;
  62.     }
  63.  
  64.     private static ArrayList<String> FillList(Scanner input, ArrayList<String> inputLines) {
  65.  
  66.         String line = "";
  67.  
  68.         while(!(line = input.nextLine()).equals("END")){
  69.             inputLines.add(line);
  70.         }
  71.         return inputLines;
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement