слишком глуп чтоб понять что ни так
import java.util.*;

public class MatrMain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);

		System.out.println("Введите количество строк: ");

		int st = sc.nextInt();

		System.out.println("Введите количество столбцов: ");

		int sr = sc.nextInt();

		int st_red_cor = 0,sr_red_cor= 0,mass_red_ch= 0,st_red_st= 0,st_red_ch= 0,sr_red_sr= 0,sr_red_ch= 0,st_pod= 0,sr_pod= 0;

		MatrClass mc = new MatrClass(st, sr, st_red_cor, sr_red_cor, st_red_st, sr_red_sr,
				                     st_pod, sr_pod, mass_red_ch, st_red_ch, sr_red_ch);

		mc.mass(st,sr);
		mc.print(st,sr);

		System.out.println("Введите кординаты числа которое хотиет изменить (строка;столбец): ");

		st_red_cor = sc.nextInt();

		sr_red_cor = sc.nextInt();
		System.out.println("Введите число которое хотел внести в матрицу");
		mass_red_ch = sc.nextInt();

		mc.print(st,sr);

		System.out.println("Введите строку которую хотите изменить: ");

		st_red_st = sc.nextInt();
		System.out.println("Вводите числа для изменения строки");
		for (int i = 0; i < sr; i++) {
			st_red_ch = sc.nextInt();
			mc.mass_red_st(sr,st_red_st,st_red_ch);
		}

		mc.print(st,sr);

		System.out.println("Введите столбец который хотите изменить: ");

		sr_red_sr = sc.nextInt();
		System.out.println("Введите числа для изменения столбца");
		sr_red_ch = sc.nextInt();
		for (int i = 0; i < st ; i++) {
			mc.mass_red_sr(st,sr_red_sr,sr_red_ch);
		}

		mc.print(st,sr);

		System.out.println("Введите строку которую хотите взять: ");

		st_pod = sc.nextInt();

		System.out.println("Введите столбец который хотите взять: ");

		sr_pod = sc.nextInt();

		System.out.println("Вывод подматрицы: ");

		mc.print_pod(st,sr,st_pod,sr_pod);
	}

}


import java.util.*;

public class MatrClass {

Random rand = new Random();

int st,sr,st_red_cor,sr_red_cor,mass_red_ch,st_red_st,st_red_ch,sr_red_sr,sr_red_ch,st_pod,sr_pod;

int [][]n = new int[st][sr];

	MatrClass(int st, int sr,int st_red_cor,int sr_red_cor,int st_red_st,int sr_red_sr,int st_pod,
			  int sr_pod,int mass_red_ch,int st_red_ch,int sr_red_ch) {
		this.st = st;
		this.sr = sr;
		this.st_red_cor= st_red_cor;
		this.sr_red_cor = sr_red_cor;
		this.st_red_st= st_red_st;
		this.sr_red_sr= sr_red_sr;
		this.st_pod = st_pod;
		this.sr_pod = sr_pod;
		this.mass_red_ch = mass_red_ch;
		this.st_red_ch = st_red_ch;
		this.sr_red_ch = sr_red_ch;

	}

/* заполнение массива */
	void mass(int st,int sr) {
		for (int i = 0; i < st ; i++) {
			for (int j = 0; j < sr ; j++) {
				n[i][j] = rand.nextInt(30);
			}
		}
	}

// изменение числа в массиве
	void mass_red(int st_red_cor,int sr_red_cor,int mass_red_ch) {
		n[st_red_cor][sr_red_cor] = mass_red_ch;
	}

// изменение строки
	void mass_red_st(int sr,int st_red_st, int st_red_ch){
		for (int j = 0; j < sr ; j++) {
			n[st_red_st][j] = st_red_ch;
		}
	}

// изменение столба
	void mass_red_sr(int st,int sr_red_sr, int sr_red_ch){
		for (int i = 0; i < st ; i++) {
			n[i][sr_red_sr] = sr_red_ch;
		}
	}

// вывод массива
	void print(int st,int sr) {
		for (int i = 0; i < st ; i++) {
			for (int j = 0; j < sr ; j++) {
				System.out.println(n[i][j] + " ");
			}
			System.out.println("\n");
		}
	}

	// вывод подматрицы
	void print_pod(int st,int sr,int st_pod, int sr_pod) {
		for (int i = st_pod; i < st ; i++) {
			for (int j = sr_pod; j < sr ; j++) {
				System.out.println(n[i][j]);
			}
			System.out.println("\n");
		}
	}
	}