牛客网基础题:我是大v

100 阅读1分钟

牛客网基础题:我是大v 思路:

  1. 因为给定输出,因此直接使用print语句格式输出即可,注意转义字符’\n‘的使用。
    public static void main(String[] args){
            System.out.print("v   v\n");
            System.out.print(" v v\n");
            System.out.print("  v\n");
        }
}
  1. 仔细观察,发现其中还有一定的规律。 使用两重循环,外层循环控制输出行数,内层控制每行输出内容。其中,每行输出的字符总数是相等的,等于2n-1,有对称的规律。再仔细观察,可以总结发现,每行输出的’v‘的位置固定,且与行号有关。比如:第一行是1位置和2n-1,第二行是2位置和2*n-1-1, 因此可以写出代码如下:
    public static void main(String[] args){
        veryImport(3);
    }
    public static void veryImport(int n){
        for(int i=0;i<n;i++){
            int left=0;
            int right=2*n-1-1;
            left+=i;
            right-=i;
            for(int j=0;j<2*n-1;j++){
                if(j==left||j==right)
                    System.out.print("v");
                else
                    System.out.print(" ");
            }
            System.out.print("\n");
        }
    }
}

输出结果:

v   v
 v v 
  v  

csdn链接:blog.csdn.net/weixin_4582…