解题思路:找到规律就很容易做出来
注意事项:StringBuilder的append()方法和insert()方法在使用上需要注意;char类型+int类型得到的也是int类型,要强转成char类型才能实现与ASCII码的转换
参考代码:
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int input = scanner.nextInt(); // A1 = “A” // A2 = “ABA” // A3 = “ABACABA” // A4 = “ABACABADABACABA” // 可得規律An = A(n-1)+n+A(n-1) char c = 'A'; // A的ASCII表中上一项是'@' StringBuilder tmp = new StringBuilder(); // 將A(n-1)暫存起來,因爲頻繁修改,所以用StringBuilder更合適; for (int i = 0; i < input; i++) { tmp = tmp.append(tmp); //例 :ab后面追加ab 得到abab tmp = tmp.insert(tmp.length() / 2, c); // 在abab中间的位置插入c的值 c=(char)(c+1); //不要忘了c的值要随着循环次数变化 } System.out.println(tmp); }
0.0分
2 人评分
哥德巴赫曾猜测 (C语言代码)浏览:994 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:879 |
C二级辅导-阶乘数列 (C语言代码)浏览:688 |
幸运数 (C++代码)浏览:1258 |
Minesweeper (C语言描述,蓝桥杯)浏览:1122 |
愚蠢的摄影师 (C++代码)浏览:932 |
printf基础练习2 (C语言代码)浏览:503 |
Quadratic Equation (C语言代码)浏览:988 |
勾股数 (C语言代码)浏览:799 |
输入输出格式练习 (C语言代码)浏览:842 |
2007叶光津 2021-01-07 14:28:49 |
嗯嗯啦!!你猜我听懂没^^