A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 范晓冲 中级黑马   /  2014-1-2 08:52  /  1631 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 范晓冲 于 2014-1-2 12:05 编辑

怎样才能打印出如下的效果,求代码。

*****
*    *
*    *
*    *
*****

如图所示,总共5行5列
第一行和最后一行都是5个星,
第二、三、四行的第一列和最后一列是星,中间三列是空格

8 个回复

倒序浏览
  1. public class Test01{
  2.        
  3.         //打印长方形
  4.     public static void main(String[] args) {
  5.            
  6.             //双层循环打印i控制行j控制列
  7.             for(int i = 0 ; i < 5 ; i ++){
  8.                    
  9.                     for(int j = 0 ; j < 5 ; j ++){
  10.                             //第一行和最后一行打印
  11.                             if(i == 0 || i == 4){
  12.                                     System.out.print("*");
  13.                             }else{
  14.                                     //在2-4行里面的第一列和最后一列打印,其余列打印空格
  15.                                     if(j == 0 || j == 4){
  16.                                         System.out.print("*");
  17.                                 }else{
  18.                                         System.out.print(" ");
  19.                                 }
  20.                                    
  21.                             }
  22.                            
  23.                     }
  24.                     System.out.println();
  25.             }
  26.     }
  27. }
复制代码
楼主,这是一道很简答的题,如果你不理解我有敲上注释,你看看吧
回复 使用道具 举报
  1. public class Demo{
  2.         public static void main(String[] args){
  3.                 System.out.println("*****");
  4.                 System.out.println("*  *");
  5.                 System.out.println("*  *");
  6.                 System.out.println("*  *");
  7.                 System.out.println("*****");
  8.         }
  9. }
复制代码



搞定~!
回复 使用道具 举报 1 0

public class Test {

        public static void main(String[] args) {
                print(5);
        }
        public static void print(int n){
                for (int i = 0; i < n; i++) {
                        if(i==0||i==n-1){
                                for (int j = 0; j < n; j++) {
                                        System.out.print("*");
                                }
                        }else{
                                System.out.print("*");
                                for (int j = 0; j <=n-3; j++) {
                                        System.out.print(" ");
                                }
                                System.out.print("*");
                        }
                        System.out.println();
                }
        }
}
回复 使用道具 举报
  /// <summary>
回复 使用道具 举报
  /// <summary>
        /// 外层循环控制打印行数,内层循环控制打印形状
        /// </summary>
        /// <param name="row">循环次数</param>
        public static void Shape(int row) {
            for (int i = 1; i <= row; i++) {
                for (int j = 1; j <= row; j++) {
                    if (i == 1 || i == row)
                    {
                        Console.Write("*");
                    }
                    else if (j == 1 || j == row) {
                        Console.Write("*");
                    }
                    else
                    {
                        Console.Write(" ");   
                    }
                }
                Console.WriteLine();
            }
            Console.ReadKey();
        }
回复 使用道具 举报

就是这个答案
回复 使用道具 举报

代码简洁明了,易于理解,:victory:
回复 使用道具 举报
张鹏 发表于 2014-1-2 18:20
代码简洁明了,易于理解,

额...谢谢支持:D
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马