1. package com.rui.test;
  2.  
  3. import java.util.Scanner;
  4.  
  5. /**
  6. * @author sunshine
  7. * @version 1.0
  8. * @date:2015年11月1日 下午7:34:28
  9. * @description: 通过控制台输入的数字打印菱形字母
  10. */
  11. public class MathCounter {
  12.  
  13. public static void main(String[] args) {
  14. Scanner scanner = new Scanner(System.in);
  15. System.out.println("输入数字:");
  16. int len = scanner.nextInt();
  17. printLing(len);
  18.  
  19. }
  20.  
  21. /**
  22. * A 1 3空格1个字母
  23. * BBB 2 2空格3个字母
  24. * CCCCC 3 1空格5个字母
  25. * DDDDDDD 4 0空格7个字母
  26. * CCCCC 5 1空格5个字母 4 4*2
  27. * BBB 6 2空格3个字母 4 5*2
  28. * A 7 3空格1个字母 4 6*2
  29. * */
  30. public static void printLing(int len){
  31. // String[] arr = {"A","B","C","D","C","B","A"};
  32. if(len>25){
  33. // len = 25;
  34. }
  35. if(len%2==0){
  36. len = len + 1;
  37. }
  38. int n = len/2 + 1;
  39. String[] arr = getStr(len);
  40. for(int i=0;i<n;i++){
  41. for(int j=0;j<n-i;j++){
  42. System.out.print(" ");
  43. }
  44. for(int j=0;j<2*i+1;j++){
  45. System.out.print(arr[i]);
  46. }
  47. System.out.println();
  48. }
  49. for(int i=0;i<n-1;i++){
  50. for(int j=0;j<i+2;j++){
  51. System.out.print(" ");
  52. }
  53. for(int j=0;j<2*(n-i)-3;j++){
  54. System.out.print(arr[i+n]);
  55. }
  56. System.out.println();
  57. }
  58. }
  59.  
  60. public static String[] getStr(int len){
  61. String[] arr = new String[len];
  62. for(int i=0;i<len;i++){
  63. if(i<(len/2+1)){
  64. char _char = (char)(65 + i);
  65. arr[i] = String.valueOf(_char);
  66. }else{
  67. char _char = (char)(65+len-i-1); //(len*2-1)-2*i
  68. arr[i] = String.valueOf(_char);
  69. }
  70. }
  71. /*for(int i=0;i<len;i++){
  72.  
  73. System.out.println(arr[i]);
  74. }*/
  75.  
  76. return arr;
  77. }
  78.  
  79. //遍历0-256数字在ASCII码中对应的字母 A===65
  80. public void printChar(){
  81. for(int i=0;i<256;i++){
  82. char _char = (char)i;
  83. System.out.println(i+"==="+_char);
  84. }
  85. }
  86. }

开发这么久,很少使用到算法,今天重新温习下

java 通过控制台输入的数字打印菱形字母的更多相关文章

  1. Java初学者作业——编写Java程序,输入一个数字,实现该数字阶乘的计算。

    返回本章节 返回作业目录 需求说明: 编写Java程序,输入一个数字,实现该数字阶乘的计算.一个数字的阶乘是所有小于及等于该数的正整数的积,自然数n的阶乘写作n! .例如,5的阶乘等于1*2*3*4* ...

  2. Java50道经典习题-程序19 输入行数打印菱形图案

    题目:根据用户输入的行数打印菱形图案,若用户传入的是为偶数则提示用户重新输入,例如输入数字7打印出如下菱形图案   *  *** ************ *****  ***   *分析:先把图形分 ...

  3. java接收控制台输入

    java控制台输入语句: Scanner sc = new Scanner(System.in); 通过一个变量,例如 int r; r = sc.nextInt();   例子: public st ...

  4. Python输入一个数字打印等腰三角形

    要求 用户输入一个数字,按照数字打印出等腰三角形 思路 1,用户输入的数字为n代表一共有多少行 2,使用一个循环带两个for循环,第一层循环是循环行数,第二层两个平行for循环一个打印空格一个打印*号 ...

  5. java 获取控制台输入

    读取控制台输入 从控制台读取一行数据,返回值字符串 public class IO { public static void main(String args[]) throws IOExceptio ...

  6. java扫描控制台输入

    由于因最近练习算法的需要,加上API文档中翻译的太过模糊,做了一些小测试,算是武断的记下一些个人结论. Scanner cin = new Scanner(System.in); 对于cin.next ...

  7. java从控制台接收一个数字

    //时间:2017/7/22//作者:江骆//功能:从控制台接收一个数import java.io.*;  //引入一个IO流的包public class helloworld1{    public ...

  8. java例题_08 输入特定数字求和(n个a位数递增求和问题)

    1 /*8 [程序 8 输入数字求和] 2 题目:求 s=a+aa+aaa+aaaa+aa...a 的值,其中 a 是一个数字.例如 2+22+222+2222+22222(此时共有 5 个数相加), ...

  9. java在控制台输出空心正方形,菱形,空心菱形

     使用for和if打印一个空心正方形 /*思路:要想打印一个5x5的空心正方形,首先它的第一横行和最后一行都是填满的,需要全部遍历出来,第二三四行和只有左右两条边是出来的,中间部分为空的.因此在打印第 ...

随机推荐

  1. HDU 5769 后缀数组

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5769 [2016多校contest-4] 题意:给定一个字符,还有一个字符串,问这个字符串存在多少个不 ...

  2. POJ 2002 统计正方形 HASH

    题目链接:http://poj.org/problem?id=2002 题意:给定n个点,问有多少种方法可以组成正方形. 思路:我们可以根据两个点求出对应正方形[有2个一个在两点左边,一个在两点右边] ...

  3. POJ 1200 字符串HASH

    题目链接:http://poj.org/problem?id=1200 题意:给定一个字符串,字符串只有NC个不同的字符,问这个字符串所有长度为N的子串有多少个不相同. 思路:字符串HASH,因为只有 ...

  4. express-9 Handlebars模板引擎(2)

    视图和布局 视图通常表现为网站上的各个页面(它也可以表现为页面中AJAX局部加载的内容,或一封电子邮件,或页面上的任何东西).默认情况下,Express会在views子目录中查找视图.布局是一种特殊的 ...

  5. 蚂蚁【A001】

    [1005]出自附中练习场,其他编号(1005)[难度A]——————————————————————————————————————————————————————————————————————— ...

  6. android访问网络--okhttp

    import com.squareup.okhttp.MediaType;import com.squareup.okhttp.OkHttpClient;import com.squareup.okh ...

  7. iOS App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.

    You can easily add it to the plist using the GUI: On the last line add the + Enter the name of the g ...

  8. Codeforces 627A XOR Equation(思路)

    题目大概说两个正整数a.b,已知s=a+b以及x=a xor b的值,问有几种a.b这样的数对. 我知道异或相当于无进位的加法,s-x就是其各个位置的进位,比如s-x=1010,那就表示a和b的第1位 ...

  9. The 2015 China Collegiate Programming Contest E. Ba Gua Zhen hdu 5544

    Ba Gua Zhen Time Limit: 6000/4000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total ...

  10. webpack练手项目之easySlide(三):commonChunks(转)

    Hello,大家好. 在之前两篇文章中: webpack练手项目之easySlide(一):初探webpack webpack练手项目之easySlide(二):代码分割 与大家分享了webpack的 ...