package com.lab2;
import java.util.InputMismatchException;
import java.util.Scanner;
import java.io.*;
public class ReadWriteFile {
private static int n;
private static int m;
public static int[][] inputSelect () {
int[][] arr = null;
int index = -1;
Scanner scan = new Scanner(System.in);
System.out.println("Выберите способ ввода массива:");
System.out.println("0. Из файла");
System.out.println("1. С клавиатуры");
index = scan.nextInt();
switch (index) {
case 0:
arr = inputFromFile("C:\Users\Владимир\eclipse-workspace\myMatrix.TXT");
break;
case 1:
arr = inputFromKeyboard();
break;
default:
System.out.println("Неверный ввод!");
}
scan.close();
return arr;
}
public static int[][] inputFromFile(String path) {
int[][] arr = null;
try {
try (Scanner in = new Scanner(new File(path))) {
n = in.nextInt();
m = in.nextInt();
arr = new int[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
arr[i][j] = in.nextInt();
}
}
in.close();
}
} catch (FileNotFoundException e) {
System.out.println("Ошибка " + e + "! файл " + path + " не найден!");
} catch (InputMismatchException e) {
System.out.println("Ошибка " + e + "! Несоответствие типов данных!");
}
return arr;
}
public static int[][] inputFromKeyboard() {
int[][] arr = null;
Scanner scan = new Scanner(System.in);
System.out.println("Укажите количество строк массива:");
n = scan.nextInt();
System.out.println("Укажите количество столбцов массива:");
m = scan.nextInt();
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
System.out.println("Введите элемент " + i + "-й строки " + j + "-го столбца:");
arr[i][j] = scan.nextInt();
}
}
scan.close();
return arr;
}
public static void outArray(int[][] array) {
System.out.println("Вывод исходного массива:");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if(j == m-1) {
System.out.print(array[i][j] + "\n");
} else {
System.out.print(array[i][j] + " ");
}
}
}
}
public static int[] getResult(int[][] array) {
int count;
int[] X = new int[m];
for (int i = 0; i < m; i++) {
count = 1;
for (int j = 0; j < n; j++) {
count *= array[j][i];
}
X[i] = (count >= 0) ? 1 : -1;
}
return X;
}
public static void outResult(int[] X) {
System.out.println("Вывод результата:");
for (int i = 0; i < m; i++) {
if (i == m-1) {
System.out.print(X[i] + "\n");
} else {
System.out.print(X[i] + " ");
}
}
}
public static void writeResult(int[] X) throws Exception {
System.out.println("Запись результата в файл");
FileWriter writer = new FileWriter("C:\Users\Владимир\eclipse-workspace\myMatrix.TXT", true);
writer.append('\n');
writer.append('\n');
for (int i = 0; i < m; i++) {
if (i == m-1) {
writer.append(X[i] + "\n");
} else {
writer.append(X[i] + " ");
}
}
writer.close();
}
}