在有些题目中打印简单图形必须使用StringBuilder或者StringBuffer,否则会运行超时(用String都会超时)。

因为在题目的要求中说到输入的n是小于1000的,用双重循环就会超时,用单层循环的String也会超时,因为+=的次数有点多了。

传说中的简单图形:

Java代码如下:

主要用了substring方法和append

import java.util.Scanner;

public class Main{

public static void main(String []args){

    Scanner sc = new Scanner(System.in);
StringBuilder s = new StringBuilder("");
// long start = System.currentTimeMillis();
int n =sc.nextInt();
for(int i=0;i<1002;i++){
s.append(" ");
} StringBuilder a = new StringBuilder("");
for(int i=0;i<1002;i++){
a.append("*");
}
StringBuilder ans = new StringBuilder("");
for(int i=1;i<=n/2;i++){
ans.append(s.substring(1001-n/2-1+i,1001));
ans.append(a.substring(1001-2*i+1,1001));
ans.append("\n");
}ans.append(a.substring(1001-n,1001));ans.append("\n"); for(int i=n/2;i>=1;i--){
ans.append(s.substring(1001-n/2-1+i,1001));
ans.append(a.substring(1001-2*i+1,1001));
ans.append("\n");
}System.out.println(ans.toString()); // long end = System.currentTimeMillis();
// System.out.println((end-start)*1.0000/1000+"s");
sc.close();
} }

  

输出简单图形(StringBuilder代替双重循环)的更多相关文章

  1. Shell双重循环、图形排列及九九乘法表

    Shell双重循环.图形排列及九九乘法表 目录 Shell双重循环.图形排列及九九乘法表 一.双重循环 1. 双重循环概述 2. 双重循环结构 二.循环特殊操作 1. exit 2. break 3. ...

  2. java08双重循环打印图形

    // 九九乘法表 外层循环每执行一次,内层循环执行一遍 for (int i = 1; i <= 9; i++) { // 外层控制的是行数 for (int j = 1; j <= i; ...

  3. java基础08 双重循环打印图形

    public class Double01 { /** * 若有3个班级各4名学员参赛, * 如何计算每个班级参赛学员的平均分? */ public static void main(String[] ...

  4. repeater标签双重循环的使用

    在网站开发中,.NET中的repeater标签几乎是笔者首选,也是唯一一个不会生成多余元素的标签,所有样式都是自定义的,这点类似 struts中的<s:iterator/>标签. 在日常编 ...

  5. YTU 2690: 用双重循环实现小九九

    2690: 用双重循环实现小九九 时间限制: 1 Sec  内存限制: 128 MB 提交: 848  解决: 573 题目描述 小九九是我们小时候常背的的乘法算术法则,现在用双重循环来实现小九九 1 ...

  6. 学习笔记:HTML5 Canvas绘制简单图形

    HTML5 Canvas绘制简单图形 1.添加Canvas标签,添加id供js操作. <canvas id="mycanvas" height="700" ...

  7. [ASP.NET] 图形验证码破解-以简单图形为例

    原文 http://www.dotblogs.com.tw/joysdw12/archive/2013/06/08/captcha-cracked.aspx 前言 这次来讲个比较有趣的主题,就是该如何 ...

  8. Java入门:绘制简单图形

    在上一节,我们学习了如何使用swing和awt工具创建一个空的窗口,本节学习如何绘制简单图形. 基本绘图介绍 Java中绘制基本图形,可以使用Java类库中的Graphics类,此类位于java.aw ...

  9. mybatis由浅入深day01_8输出映射_8.1resultType输出类型(8.1.1输出简单类型_8.1.2输出pojo对象和pojo列表_8.1.3输出hashmap)

    8 输出映射 8.1 resultType(输出类型) 使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功. 如果查询出来的列名和pojo中的属性名全 ...

随机推荐

  1. 普及C组第一题(8.1)

    1999. [2015.8.6普及组模拟赛]Wexley接苹果(apple) 题目: Wexley最近发现了一个古老的屏幕游戏.游戏的屏幕被划分成n列.在屏幕的底端,有一个宽为m列的篮子(m<n ...

  2. Ant安装及环境配置

    首先说一下啥事ant 所以装ant的前提是得装java 点击查看怎么安装JDK 然后安装ant,其实挺简单的 官网下载http://ant.apache.org 所有版本https://www.apa ...

  3. ASP.NET CORE 基础知识(一):概述【下】

    此为系列文章,对MSDN ASP.NET Core 的官方文档进行系统学习与翻译.其中或许会添加本人对 ASP.NET Core 的浅显理解 配置 ASP.NET Core提供了一个配置框架,其能够从 ...

  4. 第八届极客大挑战 Web-故道白云&Clound的错误

    web-故道白云 题目: 解题思路: 0x01 首先看到题目说html里有秘密,就看了下源代码如图, 重点在红圈那里,表示输入的变量是id,当然上一行的method=“get”同时说明是get方式获取 ...

  5. springmvc实现文件下载

    springmvc实现文件下载 使用springmvc实现文件下载有两种方式,都需要设置response的Content-Disposition为attachment;filename=test2.p ...

  6. Vue.js开发去哪儿网WebApp

    一.项目介绍 这个项目主要参考了去哪儿网的布局,完成了首页.城市选择页面.详情页面的开发. 首页:实现了多区域轮播的功能,以及多区域列表的展示: 城市选择页面:在这个页面实现了城市展示.城市搜索.城市 ...

  7. Spring Boot Security 使用教程

    虽然,我在实际项目中使用的是 shiro 进行权限管理,但 spring boot security 早已大名鼎鼎,虽然他的入门要相对复杂一点,但是设计视乎更加吸引人. 本章节就是以一篇快速入门 sp ...

  8. Card Game for Three

    Alice, Bob and Charlie are playing Card Game for Three, as below: At first, each of the three player ...

  9. 使用python爬取天气预报,[python入门案例]

    # 天气网余姚地区爬虫案例 import requests from lxml import etree class WeatherSpider: def __init__(self): self.u ...

  10. 吴裕雄--天生自然Numpy库学习笔记:NumPy 数组属性

    NumPy 数组的维数称为秩(rank),秩就是轴的数量,即数组的维度,一维数组的秩为 1,二维数组的秩为 2,以此类推. 在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(di ...