美文网首页
【蓝桥杯】第六届-5-打印菱形

【蓝桥杯】第六届-5-打印菱形

作者: JacobKong_Dev | 来源:发表于2016-03-12 19:35 被阅读334次

题目

给出菱形的边长,在控制台上打印出一个菱形来。
为了便于比对空格,我们把空格用句点代替。
当边长为8时,菱形为:

.......* 
......*.* 
.....*...* 
....*.....* 
...*.......* 
..*.........* 
.*...........* 
*.............*
.*...........*
..*.........*
...*.......*
....*.....*
.....*...*
......*.*
.......*

下面的程序实现了这个功能,但想法有点奇怪。
请仔细分析代码,并填写划线部分缺失的代码。

public class A
{
    public static void f(int n)
    {
        String s = "*";
        for(int i=0; i<2*n-3; i++) s += ".";
        s += "*";
    
        String s1 = s + "\n";
        String s2 = "";
        
        for(int i=0; i<n-1; i++){
            //System.out.println("=>"+s);
            s = "." + _____________________________________ + "*";  //填空
            s1 = s + "\n" + s1;
            s2 += s + "\n";
        }
        System.out.println(s1+s2);      
    }
    
    public static void main(String[] args)
    {
        f(8);
    }
}

注意,只能填写缺少的部分,不要重复抄写已有代码。不要填写任何多余的文字。

答案

通过观察每行之间规律可得:
s.substring(0, 2*n-4-i)

代码

public class Five {
    public static void f(int n)
    {
        String s = "*";
        for(int i=0; i<2*n-3; i++) s += ".";
        s += "*";
    
        String s1 = s + "\n";
        String s2 = "";
        
        for(int i=0; i<n-1; i++){
//          System.out.println("=>"+s);
            s = "." + s.substring(0, 2*n-4-i) + "*";  //填空
            s1 = s + "\n" + s1;
            s2 += s + "\n";
        }
        System.out.println(s1+s2);      
    }
    
    public static void main(String[] args)
    {
        f(8);
    }
}

相关文章

  • 【蓝桥杯】第六届-5-打印菱形

    题目 给出菱形的边长,在控制台上打印出一个菱形来。为了便于比对空格,我们把空格用句点代替。当边长为8时,菱形为: ...

  • 双通道方波频率检测与倍频输出

    准备蓝桥杯嵌入式中,昨天与今天我写了写蓝桥杯第六届模拟题双通道方波频率检测与倍频输出(密码是5p0v),这道题目难...

  • 打印菱形

    题目:任意输入三个数,求最大值

  • 打印菱形

    给定一个奇数n,打印实心的菱形示例: 输入: n = 3输出: n = 3的菱形.png 输入:n = 5输出:n...

  • 打印菱形

    #coding:utf-8 #import string def dianshu(n,N):#input 总行数N...

  • [蓝桥杯]输出正反三角形

    问题 1571: [蓝桥杯][算法提高VIP]输出正反三角形 题目描述 使用循环结构打印下述图形,打印行数n由用户...

  • shell脚本编译菱形

    手动输入菱形的行数 ,打印出菱形 echo "Please input data"read k //读入...

  • Rust语言编程实例100题-023

    Rust语言编程实例100题-023 题目:打印出如下图案(菱形)。扩展:打印N行的菱形(N为奇数)。 程序分析:...

  • Java实例-打印图形

    1、Java 实例 – 打印菱形:输出指定行数的菱形。 public class Img_Diamond { pu...

  • java打印菱形

    public static String print(int n) {//打印n行的菱形 // TODO y...

网友评论

      本文标题:【蓝桥杯】第六届-5-打印菱形

      本文链接:https://www.haomeiwen.com/subject/plmxlttx.html