Advertisement
Mark2020H

Java solution to detecting mismatched numbers in a file

Oct 26th, 2023
1,125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.14 KB | None | 0 0
  1. /*
  2. Written by MD Harrington
  3. Java solution to deal with these types of questions
  4.  
  5.  
  6. EG
  7.  
  8. Look for another number apart from 709
  9.  
  10. 709  709     709     709     709     709     709     709     709     709
  11. 709  709     709     709     709     709     709     709     709     709
  12. 709  709     709     709     709     709     709     709     709     709
  13. 709  709     709     709     709     709     709     709     709     709
  14. 709  409     709     709     709     709     609     709     709     709
  15. 709  509     709     709     709     709     709     709     709     709
  16. 709  709     678     709     709     509     709     709     709     709
  17. 209  709     609     709     709     709     709     709     709     709
  18. 709  709     709     709     709     709     709     709     709     709
  19. 709  709     709     709     709     709     709     709     709     709
  20. 709  709     709     409     709     709     709     709     775     709
  21. 709  709     709     709     709     709     709     709     709     709
  22. 709  709     709     709     709     809     709     709     709     709
  23. 709  709     709     409     709     709     709     709     709     709
  24. 709  709     709     709     709     709     709     709     709     709
  25. 709  508     709     709     709     709     709     709     709     609
  26. 709  709     209     709     709     709     709     709     709     709
  27. 209  709     709     709     709     709     709     709     709     709
  28. 709  709     609     709     709     709     709     709     709     709
  29. 709  709     709     709     709     709     709     309     709     709
  30.  
  31.  
  32.  
  33.  */
  34.  
  35. Here is the solution to this in java
  36.  
  37.  
  38. package filetoarray;
  39.  
  40. import java.io.BufferedReader;
  41. import java.io.FileReader;
  42. import java.io.FileWriter;
  43. import java.io.IOException;
  44. import java.util.Arrays;
  45.  
  46. public class FileToArray {
  47.     private int[][] array;
  48.  
  49.     public FileToArray(String filePath) {
  50.         try {
  51.             // Open and read the file
  52.             BufferedReader br = new BufferedReader(new FileReader(filePath));
  53.  
  54.             // Create a 2D array to store the numbers
  55.             array = new int[20][10];
  56.  
  57.             // Read and parse the numbers from the file
  58.             String line = br.readLine();
  59.             String[] numbers = line.split("\\s+"); // Assuming numbers are separated by spaces
  60.  
  61.             for (int i = 0; i < 20; i++) {
  62.                 for (int j = 0; j < 10; j++) {
  63.                     array[i][j] = Integer.parseInt(numbers[i * 10 + j]);
  64.                 }
  65.             }
  66.  
  67.             // Close the file
  68.             br.close();
  69.         } catch (IOException e) {
  70.             e.printStackTrace();
  71.         }
  72.     }
  73.  
  74.     public void compareAndPrintMismatches(int selectedNumber) {
  75.         // Compare each number in the array
  76.         for (int row = 0; row < 20; row++) {
  77.             for (int col = 0; col < 10; col++) {
  78.                 int number = array[row][col];
  79.                 if (number != selectedNumber) {
  80.                     System.out.println("Mismatch: Row " + (row + 1) + ", Column " + (col + 1) + " - Value: " + number);
  81.                 }
  82.             }
  83.         }
  84.     }
  85.  
  86.     public int countElements() {
  87.         int count = 20 * 10;
  88.         return count;
  89.     }
  90.  
  91.     public void exportToFile(String outputPath, String delimiter) {
  92.         try {
  93.             FileWriter writer = new FileWriter(outputPath);
  94.  
  95.             for (int row = 0; row < 20; row++) {
  96.                 String rowString = Arrays.toString(array[row]).replace(",", delimiter);
  97.                 writer.write(rowString.substring(1, rowString.length() - 1) + "\n");
  98.             }
  99.  
  100.             writer.close();
  101.         } catch (IOException e) {
  102.             e.printStackTrace();
  103.         }
  104.     }
  105.  
  106.     public static void main(String[] args) {
  107.         String inputFilePath = "numbers.txt"; // Change this to the path of your input file
  108.         FileToArray fileToArray = new FileToArray(inputFilePath);
  109.  
  110.         // Define the number to compare against
  111.         int selectedNumber = 709; // Change this to the number you want to compare
  112.  
  113.         // Call the function to compare and print mismatches
  114.         fileToArray.compareAndPrintMismatches(selectedNumber);
  115.  
  116.         // Call the function to count the number of elements
  117.         int elementCount = fileToArray.countElements();
  118.         System.out.println("Total number of elements in the array: " + elementCount);
  119.  
  120.         String outputFilePath = "output.txt"; // Change this to the desired output file path
  121.         String delimiter = "\t"; // Change this to the desired delimiter
  122.         fileToArray.exportToFile(outputFilePath, delimiter);
  123.     }
  124. }
  125.  
  126.  
  127.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement