Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.58 KB | None | 0 0
  1. package com.company;
  2.  
  3.  
  4. import java.util.Scanner;
  5.  
  6. public class Main {
  7.  
  8.  
  9.     public static void main(String[] args) {
  10.         int N = enterValue("Enter value N");
  11.         int M = enterValue("Enter value M");
  12.         int[][] matrix = new int[N][M];
  13.         int[] vector = new int[M];
  14.         matrix = getMatrixFromConsole(N, M);
  15.         vector = getVectorFromConcole(M);
  16.         vector = multiMatrixAndVector(matrix, vector);
  17.         for (int i: vector) {
  18.             System.out.println(i);
  19.         }
  20.     }
  21.  
  22.     static Scanner sc = new Scanner(System.in);
  23.  
  24.     static int[] multiMatrixAndVector(int[][] matrix, int[] vector) {
  25.         int[] resVector = new int[vector.length];
  26.  
  27.         for (int i = 0; i < matrix[1].length; i++) {
  28.             for (int j = 0; j < matrix.length; j++) {
  29.                 resVector[i] += matrix[j][i] * vector[j];
  30.             }
  31.         }
  32.         return resVector;
  33.     }
  34.  
  35.     static int[] getVectorFromConcole(int M) {
  36.         System.out.println("Enter your vector");
  37.         boolean isNotCorrect = true;
  38.         int[] vector = new int[M];
  39.         String line;
  40.         do {
  41.             try {
  42.                 line = sc.nextLine();
  43.                 String[] arrFillings = line.split(" ");
  44.                 for (int i = 0; i < M; i++) {
  45.                     vector[i] = Integer.parseInt(arrFillings[i]);
  46.                 }
  47.                     isNotCorrect = false;
  48.             } catch (Exception e) {
  49.                 System.out.println(e);
  50.             }
  51.  
  52.         } while (isNotCorrect);
  53.         return vector;
  54.  
  55.     }
  56.  
  57.     static int enterValue(String msg) {
  58.         System.out.println(msg);
  59.         try {
  60.             return sc.nextInt();
  61.         } catch (Exception e) {
  62.             System.out.println("Invalid data, try again");
  63.             sc.nextLine();
  64.             return enterValue(msg);
  65.         }
  66.     }
  67.  
  68.     static int[][] getMatrixFromConsole(int N, int M) {
  69.         System.out.println("Enter your matrix");
  70.         int[][] matrix = new int[N][M];
  71.         boolean isNotCorrect = true;
  72.         do {
  73.             try {
  74.                 for (int i = 0; i < N; i++) {
  75.                     String line = sc.nextLine();
  76.                     String[] arrFilings = line.split(" ");
  77.                     for (int j = 0; j < M; j++) {
  78.                         matrix[i][j] = Integer.parseInt(arrFilings[j]);
  79.                     }
  80.  
  81.                 }
  82.                 isNotCorrect = false;
  83.             } catch (Exception e) {
  84.                 System.out.println(e);
  85.             }
  86.         } while (isNotCorrect);
  87.         return matrix;
  88.     }
  89.  
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement