L1-6 福到了(Java)

简介: L1-6 福到了(Java)

L1-6 福到了(Java)

分数 15

全屏浏览题目切换布局

作者 陈越

单位 浙江大学

“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N × N 的网格组成的,网格中的元素或者为字符 @ 或者为空格。而倒过来的汉字所用的字符由裁判指定。

输入格式:

输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 N (不超过100的正整数),其间以 1 个空格分隔;随后 N 行,每行给出 N 个字符,或者为 @ 或者为空格。

输出格式:

输出倒置的网格,如样例所示。但是,如果这个字正过来倒过去是一样的,就先输出bu yong dao le,然后再用输入指定的字符将其输出。

输入样例 1:

$ 9
 @  @@@@@
@@@  @@@ 
 @   @ @ 
@@@  @@@ 
@@@ @@@@@
@@@ @ @ @
@@@ @@@@@
 @  @ @ @
 @  @@@@@

输出样例 1:

$$$$$  $ 
$ $ $  $ 
$$$$$ $$$
$ $ $ $$$
$$$$$ $$$
 $$$  $$$
 $ $   $ 
 $$$  $$$
$$$$$  $ 

输入样例 2:

& 3
@@@
 @ 
@@@

输出样例 2:

bu yong dao le
&&&
 & 
&&&

答案

import java.util.Scanner;
public class MirrorImage {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char ch = scanner.next().charAt(0);  // 输入字符
        int n = scanner.nextInt();  // 输入矩阵大小
        scanner.nextLine();  // 消耗掉换行符
        String[] mp = new String[n];
        // 输入矩阵内容
        for (int i = 0; i < n; i++) {
            mp[i] = scanner.nextLine();
        }
        boolean flag = true;
        // 判断是否为对称矩阵
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if (mp[i].charAt(j) != mp[n - 1 - i].charAt(n - 1 - j)) {
                    flag = false;
                }
            }
        }
        if (flag) {
            System.out.println("bu yong dao le");
        }
        // 输出镜像
        for (int i = n - 1; i >= 0; i--) {
            for (int j = n - 1; j >= 0; j--) {
                if (mp[i].charAt(j) != ' ') {
                    System.out.print(ch);
                } else {
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
        scanner.close();
    }
}
相关文章
|
2月前
|
Java Android开发 C++
Java和C++
Java和C++
51 15
|
Java 程序员
从0开始学Java:Java基础语法(1)
从0开始学Java:Java基础语法(1)
|
9月前
|
Java
L2-2 小字辈(Java)
L2-2 小字辈(Java)
75 0
|
9月前
|
Java 数据库连接 API
Java是什么?
Java是什么?
170 0
|
Java 程序员 编译器
初识Java 1
初识Java
62 0
|
Java 编译器
【JAVA】初识Java
一些IDEA 里面的快捷键 JAVA开发环境 操作IDEA的动作分解 以类(class)为基本单位进行组织 数据(data) 基本数据类型 变量 字面量
146 0
|
Java
Java常见的坑(二)
你猜上述程序输出的是什么? 是 ABC easy as 123 吗? 你执行了输出操作,你才发现输出的是 ABC easy as [C@6e8cf4c6 ,这么一串丑陋的数字是什么鬼? 实际上我们知道字符串与任何数值的相加都会变为字符串,上述事例也不例外, numbers输出其实实际上是调用了Object.toString()方法,让numbers转变为'[c' + '@' + 无符号的十六进制数。
63 0
|
消息中间件 NoSQL 前端开发
|
小程序 Java 编译器
关于Java
Java功能强大且简单
420 0
关于Java
|
算法 Java
Java 吸血鬼数字
Java 吸血鬼数字
149 0