PTA 7-33 空心字母金字塔(StringBuilder应用实例)
7-33 空心字母金字塔 (10 分)
输入一个大写的英文字母,输出空心的字母金字塔。
输入格式:
一个大写英文字母。输出格式:
一个空心的大写英文字母金字塔,其中第1层的“A”在第1行的第40列,列从1开始计数。输入样例:
E
输出样例:AB BC CD DEEEEEEEEE
import java.util.Scanner;public class Main {public static void main(String args[]) {Scanner scanner = new Scanner(System.in);String N = scanner.nextLine();StringBuilder b = new StringBuilder(" "); //39个空格String c = " ";int k = 1;for (char i = 'A'; i < N.charAt(0); i++) {System.out.print(b);if (i == 'A'){System.out.println(i);}else {System.out.print(i);System.out.print(c);System.out.println(i);c += " ";}b.delete(0,1);k++;}System.out.print(b);for (int i = 0; i < 2*k -1; i++) {System.out.print(N);}}
}
代码解释
1.StringBuilder 在程序开发过程中,我们常常碰到字符串连接的情况,方便和直接的方式是通过"+"符号来实现,但是这种方式达到目的的效率比较低,且每执行一次都会创建一个String对象,即耗时,又浪费空间。使用StringBuilder类就可以避免这种问题的发生。 一、创建Stringbuilder对象
StringBuilder strB = new StringBuilder();
1、append(String str)/append(Char c):字符串连接
System.out.println("StringBuilder:"+strB.append("ch").append("111").append('c'));
//return "StringBuilder:ch111c"2、toString():返回一个与构建起或缓冲器内容相同的字符串
System.out.println("String:"+strB.toString());
//return "String:ch111c"3、appendcodePoint(int cp):追加一个代码点,并将其转换为一个或两个代码单元并返回this
System.out.println("StringBuilder.appendCodePoint:"+strB.appendCodePoint(2));
//return "StringBuilder.appendCodePoint:ch111c"4、setCharAt(int i, char c):将第 i 个代码单元设置为 c(可以理解为替换)
strB.setCharAt(2, 'd');
System.out.println("StringBuilder.setCharAt:" + strB);
//return "StringBuilder.setCharAt:chd11c"5、insert(int offset, String str)/insert(int offset, Char c):在指定位置之前插入字符(串)
System.out.println("StringBuilder.insertString:"+ strB.insert(2, "LS"));
//return "StringBuilder.insertString:chLSd11c"
System.out.println("StringBuilder.insertChar:"+ strB.insert(2, 'L'));
//return "StringBuilder.insertChar:chLLSd11c"6、delete(int startIndex,int endIndex):删除起始位置(含)到结尾位置(不含)之间的字符串
System.out.println("StringBuilder.delete:"+ strB.delete(2, 4));
//return "StringBuilder.delete:chSd11c"
2.charAt()
charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。3.使用string N的原因是为了可以在循环中使用,不引起数据类型错误。
4. b.delete(0,1);
使用b.delete 每循环一次减去一个39个空格中的一个。
5.for (char i = 'A'; i < N.charAt(0); i++)
循环次数小于N.charAt(0)时,
System.out.print(b);//输出39个空格if (i == 'A'){System.out.println(i);}else {System.out.print(i);System.out.print(c);System.out.println(i);c += " ";//下一个字母中间增加2个空格}b.delete(0,1);//每循环一次删除一个空格k++;
循环次数等于N.charAt(0)时,System.out.print(b);//输出39个空格for (int i = 0; i < 2*k -1; i++) {System.out.print(N);//输出2*k -1个最后字母}
PTA 7-33 空心字母金字塔(StringBuilder应用实例)相关推荐
- PTA 空心字母金字塔
7-7 空心字母金字塔 分数 10 作者 翁恺 单位 浙江大学 输入一个大写的英文字母,输出空心的字母金字塔. 输入格式: 一个大写英文字母. 输出格式: 一个空心的大写英文字母金字塔,其中第1层的& ...
- 7-123 空心字母金字塔 (10 分)输入一个大写的英文字母,输出空心的字母金字塔。
7-123 空心字母金字塔 (10 分) 输入一个大写的英文字母,输出空心的字母金字塔. 输入格式: 一个大写英文字母. 输出格式: 一个空心的大写英文字母金字塔,其中第1层的"A" ...
- PTA 空心字母金字塔+数字金字塔+字母金字塔
输入一个大写的英文字母,输出空心的字母金字塔. 输入格式: 一个大写英文字母. 输出格式: 一个空心的大写英文字母金字塔,其中第1层的"A"在第1行的第40列,列从1开始计数. 输 ...
- [PTA]7-123 空心字母金字塔(c语言)
输入一个大写的英文字母,输出空心的字母金字塔. 输入格式: 一个大写英文字母. 输出格式: 一个空心的大写英文字母金字塔,其中第1层的"A"在第1行的第40列,列从1开始计数. 输 ...
- PTA 7-123 空心字母金字塔
输入一个大写的英文字母,输出空心的字母金字塔. 输入格式: 一个大写英文字母. 输出格式: 一个空心的大写英文字母金字塔,其中第1层的"A"在第1行的第40列,列从1开始计数. 输 ...
- 7-55 空心字母金字塔 (10 分)
输入一个大写的英文字母,输出空心的字母金字塔. 输入格式: 一个大写英文字母. 输出格式: 一个空心的大写英文字母金字塔,其中第1层的"A"在第1行的第40列,列从1开始计数. 输 ...
- 空心字母金字塔 (10 分)
输入一个大写的英文字母,输出空心的字母金字塔. 输入格式: 一个大写英文字母. 输出格式: 一个空心的大写英文字母金字塔,其中第1层的"A"在第1行的第40列,列从1开始计数. 输 ...
- 7-123 空心字母金字塔
一.题目要求 输入一个大写的英文字母,输出空心的字母金字塔. 输入格式: 一个大写英文字母. 输出格式: 一个空心的大写英文字母金字塔,其中第1层的"A"在第1行的第40列,列从1 ...
- 7-20 空心字母金字塔
输入一个大写的英文字母,输出空心的字母金字塔. 输入格式: 一个大写英文字母. 输出格式: 一个空心的大写英文字母金字塔,其中第1层的"A"在第1行的第40列,列从1开始计数. 输 ...
最新文章
- tornado 异步两种实现形式 通过回调可以利用
- rust房子 如何拆除_小产权房“依法拆除”?中央新文件透露“1个新信号”
- PL/SQL developer执行的sql文件编码
- 新鲜出炉的电信诈骗经历
- 路径中斜杠/、点斜杠./、点点斜杠../的区别
- GY歌谣之读懂每行代码(飞智) 2020 10 16 Duplicate keys detected
- dategurd oracle_Oracle之11g DataGuard
- Microsoft Edge 浏览器如何打开Axure RP文件
- 出租车计费程序php,出租车计价器VHDL程序
- 电气火灾监控系统在地铁供配电系统中的应用
- 上海是怎么错失这些年的互联网机遇的?
- Linux Kernel Security全景图系列之开篇
- spring-aop切面
- vue3 动态传值给子组件
- 这几天,聊到的最多的就是互通有无
- one_gadget的安装与使用
- 微信小程序上拉触底事件函数onReachBottom不触发的解决方案
- C#实现打字小游戏(一)
- 腾讯 阿里 华为的岗位薪资情况概述
- [zz]各大IT公司待遇
热门文章
- mysql存储过程计算阶乘,为什么计算阶乘 ,7的阶乘是5040
- 5GNR R17 PLMN选择和SNPN选择
- mac环境下ananconda安装失败,已经设置为所有来源可安装
- 推荐免费好用的地图绘制软件Global Mapper开心版V24.0 Build 092022 x64
- plantuml使用
- 帝国理工学院计算机博士,帝国理工大学博士:从0到1,一位博士生的蜕变之路...
- 计算机证书图片无法保存,win7自带截图工具保存不了怎么办|win7截图工具无法保存的修复方法...
- unity调android ios 浏览器 uniwebview2.1使用
- 2018微策略用户峰会北京站举行 企业级BI魅力无处不
- 气动旋转接头如何使用