蓝桥杯第六届真题 :格子中输出

点击查看:蓝桥杯历年真题 题解目录

格子中输出

蓝桥杯第六届真题 :格子中输出_第1张图片

"%" + (width-2-s.length())/2 + "s%s%" + (width-2-s.length() - (width-2-s.length())/2) + "s"
String.format(); 为格式化字符串,用%s填充
"%" + (width-2-s.length())/2 + "s" 为字符串前的空格
"%s"    对应下一行的字符串
"%" + (width-2-s.length() - (width-2-s.length())/2) + "s"  对应字符串后面的空格
package java_2015_C;

public class Main005_格子中输出 {

   public static void main(String[] args) {
      // TODO Auto-generated method stub
      stringInGrid(10,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 = _______见下一行________ ;  //填空
      String ff = "%" + (width-2-s.length())/2 + "s%s%" + 
            (width-2-s.length() - (width-2-s.length())/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("+");   
   }
}

蓝桥杯第六届真题 :格子中输出_第2张图片

注释掉需要填写的代码部分,可得如下结果:
so,需要填空部分为   字符串的格式

蓝桥杯第六届真题 :格子中输出_第3张图片

你可能感兴趣的:(蓝桥杯历届真题)