zoukankan      html  css  js  c++  java
  • 蓝桥杯-格子中输出-java

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

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

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

    * All rights reserved.

    * 文件名称: 蓝桥杯赛题                           

    * 作    者:   彭俊豪               

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

    * 版 本 号:      001   

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

    * 问题描述:

    stringInGrid方法会在一个指定大小的格子中打印指定的字符串。
    要求字符串在水平、垂直两个方向上都居中。
    如果字符串太长,就截断。
    如果不能恰好居中,可以稍稍偏左或者偏上一点。

    下面的程序实现这个逻辑,请填写划线部分缺少的代码。

    public static void stringInGrid(int width, int height, String s)
    {
    if(s.length()>width-2) s = s.substring(0,width-2);
    System.out.print("+");
    for(int i=0;i<width-2;i++) System.out.print("-");
    System.out.println("+");

    for(int k=1; k<(height-1)/2;k++){
    System.out.print("|");
    for(int i=0;i<width-2;i++) System.out.print(" ");
    System.out.println("|");
    }

    System.out.print("|");

    String ff = _______________________________________________________; //填空
    System.out.print(String.format(ff,"",s,""));

    System.out.println("|");

    for(int k=(height-1)/2+1; k<height-1; k++){
    System.out.print("|");
    for(int i=0;i<width-2;i++) System.out.print(" ");
    System.out.println("|");
    }

    System.out.print("+");
    for(int i=0;i<width-2;i++) System.out.print("-");
    System.out.println("+");
    }

    * 输入描述:  

     * 程序输出:  对于题目中数据,应该输出:
    +------------------+
    |            |
    |       abcd1234      |
    |                           |
    |                           |
    +------------------+

    * 程序头部的注释结束

    */

    上代码:

    public class Main {

      public static void main(String[] args) {
        stringInGrid(20, 6, "abcd1234");

      }

      public static void stringInGrid(int width, int height, String s)
      {
        if(s.length()>width-2) s = s.substring(0,width-2);
          System.out.print("+");
        for(int i=0;i<width-2;i++) System.out.print("-");
          System.out.println("+");

        for(int k=1; k<(height-1)/2;k++){
          System.out.print("|");
        for(int i=0;i<width-2;i++) System.out.print(" ");
          System.out.println("|");
        }

        System.out.print("|");

        String ff = "%1$"+(width-s.length()-2)/2+"s%2$s%3$"+(width-s.length()-2)/2+"s"; //填空
        System.out.print(String.format(ff,"",s,""));

        System.out.println("|");

        for(int k=(height-1)/2+1; k<height-1; k++){
          System.out.print("|");
        for(int i=0;i<width-2;i++) System.out.print(" ");
          System.out.println("|");
        }

        System.out.print("+");
        for(int i=0;i<width-2;i++) System.out.print("-");
          System.out.println("+");
        }

    }

  • 相关阅读:
    将数组转换为 List, 使用 Collections.addAll(arrayList, array)
    Numpy学习笔记
    sql 批量修改字段内容
    sql 查询的优化
    选择低薪喜欢的工作, 还是高薪不喜欢的工作 ?
    Tornado + Bootstrap 快速搭建自己的web应用
    sql查询出现次数最多的记录的名称和现次数以及QT聚合查找失败解决
    idea中修改git提交代码的用户名
    初识Spring Cloud与微服务
    微信小程序解析富文本的几种方法
  • 原文地址:https://www.cnblogs.com/pengjunhao/p/6674015.html
Copyright © 2011-2022 走看看