Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.Scanner;
- public class Main {
- public static int matrixCout(int[][] matrix, int sizeI, int sizeJ)
- {
- int sum = 0;
- int maxsum = 0;
- for (int i = 0; i < sizeI ; i++) {
- for (int j = 0; j < sizeJ; j++) {
- sum = sum + Math.abs(matrix[i][j]);
- }
- if (sum > maxsum) {
- maxsum = sum;
- }
- sum = 0;
- }
- return maxsum;
- }
- static void fromfile()
- {
- Scanner scan = new Scanner(System.in);
- int[][] matrix = new int[0][0];
- boolean isIncorrect;
- int sizeI = 0;
- int sizeJ = 0;
- do {
- isIncorrect = false;
- System.out.println("Введите путь к файлу: ");
- String path = scan.nextLine();
- if (path.toLowerCase().endsWith(".txt")) {
- try (BufferedReader bufferedReader = new BufferedReader(new FileReader(path))) {
- sizeI = Integer.parseInt(bufferedReader.readLine());
- sizeJ = Integer.parseInt(bufferedReader.readLine());
- matrix = new int[sizeI][sizeJ];
- for (int i = 0; i < sizeI; i++) {
- String[] line = bufferedReader.readLine().split(" ");
- for (int j = 0; j < sizeJ; j++) {
- matrix[i][j] = Integer.parseInt(line[j]);
- }
- }
- System.out.println("Максимальная сумма модулей элементов строк: " + matrixCout(matrix, sizeI, sizeJ));
- } catch (IOException ioException) {
- System.out.println("Неверный тип данных! Измените входные данные и перезапустите программу");
- isIncorrect = true;
- }
- try {
- FileWriter writer = new FileWriter(path, true);
- writer.write( "\nМаксимальная сумма модулей строк: " + matrixCout(matrix, sizeI, sizeJ));
- writer.close();
- System.out.println("Данные успешно записаны в файл.");
- } catch (IOException e) {
- System.out.println("Ошибка при записи данных в файл.");
- e.printStackTrace(); }
- } else {
- System.out.println("Неверный формат файла или путь к файлу!");
- isIncorrect = true;
- }
- } while (isIncorrect);
- System.out.println("Вывод матрицы:");
- for (int[] row : matrix) {
- for (int element : row) {
- System.out.print(element + " ");
- }
- System.out.print("\n");
- }
- scan.close();
- };
- static void fromconsole()
- {
- Scanner scan = new Scanner(System.in);
- boolean isIncorrect;
- int sizeI = 0;
- do {
- isIncorrect = false;
- System.out.println("Введите количество строк в матрице: ");
- try {
- sizeI = Integer.parseInt(scan.nextLine());
- }
- catch (NumberFormatException exception) {
- System.err.println("Неверный ввод данных!");
- isIncorrect = true;
- }
- } while (isIncorrect);
- int sizeJ = 0;
- do {
- isIncorrect = false;
- System.out.println("Введите количество столбцов в матрице: ");
- try {
- sizeJ = Integer.parseInt(scan.nextLine());
- }
- catch (NumberFormatException exception) {
- System.err.println("Неверный ввод данных!");
- isIncorrect = true;
- }
- } while (isIncorrect);
- int[][] matrix = new int[sizeI][sizeJ];
- for ( int i = 0; i < sizeI; i++) {
- for (int j = 0; j < sizeJ; j++) {
- do {
- isIncorrect = false;
- System.out.println("Введите элемент " + (i+1) + "," + (j+1) + " элемент матрицы: ");
- try {
- matrix[i][j] = Integer.parseInt(scan.nextLine());
- }
- catch (NumberFormatException exception) {
- System.err.println("Неверный ввод данных!");
- isIncorrect = true;
- }
- } while (isIncorrect);
- }
- }
- System.out.println("Вывод матрицы на экран:") ;
- for ( int i = 0; i < sizeI; i++) {
- for (int j = 0; j < sizeJ; j++) {
- System.out.print(matrix[i][j]);
- System.out.print(" ");
- }
- System.out.print("\n");
- }
- System.out.println("Максимальная сумма модулей элементов строк:" + matrixCout(matrix, sizeI, sizeJ));
- };
- public static void main(String[] args) {
- Scanner scan = new Scanner(System.in);
- String choice = "";
- boolean isIncorrect;
- System.out.println("Данная программа находит наибольшую сумму элементов строк матрицы.");
- System.out.println("Выберите, откуда будут вводиться данные: ");
- do {
- isIncorrect = false;
- System.out.println("Напишите ONE, если с консоли. Напишите TWO, если с файла. ");
- try {
- choice = scan.nextLine();
- if (!choice.equals("ONE") && !choice.equals("TWO")) {
- System.err.println("Неверный ввод данных!");
- isIncorrect = true;
- }
- }
- catch (Exception e) {
- System.err.println("Неверный ввод данных!");
- isIncorrect = true;
- }
- } while (!choice.equals("ONE") && !choice.equals("TWO"));
- if (choice.equals("ONE")) {
- fromconsole();
- }
- else {
- fromfile();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement