zoukankan      html  css  js  c++  java
  • 蓝桥杯-打印十字图-java

    /* (程序头部注释开始)

    * 程序的版权和版本声明部分

    * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 

    * All rights reserved.

    * 文件名称: 蓝桥杯赛题                           

    * 作    者:   彭俊豪               

    * 完成日期:   2016   年 04月 01日

    * 版 本 号:      001   

    * 对任务及求解方法的描述部分

    * 问题描述:

    小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示(可参见p1.jpg)


    对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。

    为了能准确比对空白的数量,程序要求对行中的空白以句点(.)代替。

    * 输入描述:   标准输入输出

    * 程序输出:  请仔细观察样例,尤其要注意句点的数量和输出位置。

    * 程序头部的注释结束

    */

    上代码:

    import java.util.Scanner;

      public class Main {

        public static void main(String[] args) {
          Scanner sc = new Scanner(System.in);
          int n = sc.nextInt();
          int length = 4*n+5;
          int zx = length/2;
          String arr[][] = new String[length][length];

          for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr.length; j++) {
              arr[i][j] = ".";
            }
          }

          for (int i = zx-2; i < zx+3; i++) {
            arr[i][zx] = "$";
            arr[zx][i] = "$";
          }

        //控制外圈的循环次数,重点!!!
          for (int m = 0; m < n; m++) {

            for (int i = zx-(2+m*2); i <= zx+2+2*m; i++) {
              arr[zx-(4+m*2)][i] = "$";
              arr[zx+4+m*2][i] = "$";
              arr[i][zx-(4+m*2)] = "$";
              arr[i][zx+4+m*2] = "$";
            }

            for (int i = 1; i <= zx-(2*m+2); i++) {
              arr[zx-(2*m+2)][i] = "$";
              arr[zx+2+2*m][i] = "$";
              arr[i][zx-(2*m+2)] = "$";
              arr[i][zx+2+2*m] = "$";
            }

            for (int i = zx+2*m+2; i <= arr.length-1; i++) {
              arr[zx+2*m+2][i] = "$";
              arr[zx-2-2*m][i] = "$";
              arr[i][zx+2*m+2] = "$";
              arr[i][zx-2-2*m] = "$";
            }

          //消除多余出来的$
          for (int i = zx-m*2; i < zx+m*2; i++) {
            arr[zx-(3+m*2)][i] = ".";
            arr[zx-(3+m*2)][i] = ".";
            arr[zx+3+m*2][i] = ".";
            arr[zx+3+m*2][i] = ".";
            arr[i][zx-(3+m*2)] = ".";
            arr[i][zx-(3+m*2)] = ".";
            arr[i][zx+3+m*2] = ".";
            arr[i][zx+3+m*2] = ".";
          }
        }

          for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr.length; j++) {
              System.out.print(arr[i][j]);
            }
          System.out.println();
        }
      }

    }

  • 相关阅读:
    。。。Hibernate 查询数据 事务管理。。。
    如何在easyui datagrid 中显示外键的值
    easyui datagrid 中序列化后的日期格式化
    使用Log4net把日志写入到SqlServer数据库
    在ALV点击Key值调用TCode,跳过初始屏幕
    JAVA环境变量设置
    在Jsp中调用静态资源,路径配置问题
    eclipse下项目复制改名注意事项
    HTML5与CSS3基础教程第八版学习笔记16-21章
    HTML5与CSS3基础教程第八版学习笔记11~15章
  • 原文地址:https://www.cnblogs.com/pengjunhao/p/6670165.html
Copyright © 2011-2022 走看看