分类:JavaEE框架技术原创文章
作者:屈三岁
eg:
1,2,3
4,5,6
7,8,9
输出:1,2,4,3,5,7,6,8,9
思路:先将3*3矩阵看成两个对三角,然后输出。
package com.querpu.test;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* @Description: Java对角线输出矩阵
* @ClassName:
* @Author: 屈三岁
* @Date: 2021/1/24 15:14
* @Version: 1.0
*/
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {// 注意,如果输入是多个测试用例,请通过while循环处理多个测试用例
int x = in.nextInt(); // x
int y = in.nextInt(); // y
List<List<Integer>> Y = new ArrayList<>(); // y
for (int i = 0 ; i < y ; i ++){
List<Integer> X = new ArrayList<>();// x
for (int j = 0 ; j < x ; j ++){
System.out.println("请输入第"+i+"行"+"第"+j+"个:");
int num = in.nextInt();
X.add(num);
}
Y.add(X);
}
System.out.println(Y);
int a = 0 ;
for(int i = 0 ; i < x ; i ++){
a = i ;
for (int j = 0 ; j <= i ; j++){
System.out.println(Y.get(j).get(a));
if (i != 0 ){
a --;
}
}
a = 0 ;
}
System.out.println("===================");
int b = 1 ;
int c = 1 ;
int q = y - 1 ;
for(int i = (y - 2 ) ; i >= 0 ; i --){
for (int j = i ; j >= 0 ; j-- , q--){
System.out.println(Y.get(b).get(q));
if (b <= i ){
b ++;
}
}
c ++ ;
q = y - 1 ;
b = c ;
}
}
}
}