zoukankan      html  css  js  c++  java
  • java 通过控制台输入的数字打印菱形字母

     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 }

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

  • 相关阅读:
    查看PL/SQL编译时的错误信息
    Oracle字符集的查看查询和Oracle字符集的设置修改
    关于数字货币 韩国似乎在下一盘大棋
    上传图片如何对图片进行压缩canvas
    socket应用(vue、node.js、M站)
    web前端学习python之第一章_基础语法(二)
    从零开始 —— Canvas(一)
    前端必备之Node+mysql+ejs模版如何写接口
    浏览器缓存机制
    前端实现数组去重,如何高效快捷?
  • 原文地址:https://www.cnblogs.com/sun-rain/p/4928842.html
Copyright © 2011-2022 走看看