package com.rui.test; 

 import java.util.Scanner;

 /**
* @author sunshine
* @version 1.0
* @date:2015年11月1日 下午7:34:28
* @description: 通过控制台输入的数字打印菱形字母
*/
public class MathCounter { public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入数字:");
int len = scanner.nextInt();
printLing(len); } /**
* A 1 3空格1个字母
* BBB 2 2空格3个字母
* CCCCC 3 1空格5个字母
* DDDDDDD 4 0空格7个字母
* CCCCC 5 1空格5个字母 4 4*2
* BBB 6 2空格3个字母 4 5*2
* A 7 3空格1个字母 4 6*2
* */
public static void printLing(int len){
// String[] arr = {"A","B","C","D","C","B","A"};
if(len>25){
// len = 25;
}
if(len%2==0){
len = len + 1;
}
int n = len/2 + 1;
String[] arr = getStr(len);
for(int i=0;i<n;i++){
for(int j=0;j<n-i;j++){
System.out.print(" ");
}
for(int j=0;j<2*i+1;j++){
System.out.print(arr[i]);
}
System.out.println();
}
for(int i=0;i<n-1;i++){
for(int j=0;j<i+2;j++){
System.out.print(" ");
}
for(int j=0;j<2*(n-i)-3;j++){
System.out.print(arr[i+n]);
}
System.out.println();
}
} public static String[] getStr(int len){
String[] arr = new String[len];
for(int i=0;i<len;i++){
if(i<(len/2+1)){
char _char = (char)(65 + i);
arr[i] = String.valueOf(_char);
}else{
char _char = (char)(65+len-i-1); //(len*2-1)-2*i
arr[i] = String.valueOf(_char);
}
}
/*for(int i=0;i<len;i++){ System.out.println(arr[i]);
}*/ return arr;
} //遍历0-256数字在ASCII码中对应的字母 A===65
public void printChar(){
for(int i=0;i<256;i++){
char _char = (char)i;
System.out.println(i+"==="+_char);
}
}
}

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

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. CSS3设置多张背景图片

    background-image:url("1.jpg"),url("2.jpg"),url("3.jpg");background-rep ...

  2. 一个java集合使用bug

    在使用java集合的时候有的时候集合是来自于一些第三方工具提供的从字符串或json 转出集合的对象有时是抽象类,这时的对象部分功能是未实现的,在使用相应操作的时侯 会引发bug. Exception  ...

  3. Chage

    For many times,i've given my own a new lifestyle,such as don't stay up late,have breakfast......whil ...

  4. [bzoj4424]Fairy

    很久之前想写这题.结果还是把握不住CF的E,太神了啊....... 首先考虑的是二分图的性质,这个so easy,图中不存在奇数环. 然后分三种情况考虑: 1.只有一个奇数环,随便删除哪条 2.多个奇 ...

  5. Linux 环境中普通用户启动Myeclipse出错

    将Myeclipse安装在/usr/local/myeclipse目录中,由root用户启动时没有问题,而用普通用户时出现如下故障: The configuration area at '/usr/l ...

  6. Unity Standard Assets 简介之 2D

    这篇介绍2D资源包. 文件夹比较多,但是很多都是prefab的基础资源,所以我们只介绍 Prefabs 和 Scripts 文件夹. Prefabs文件夹: CharacterRobotBoy: 提供 ...

  7. 创建第一个Hiberntae工程

    一.前言 很久之前已经对Hibernate有所了解,在项目中进行过简单的应用,基本了解hibernate的简单应用,没有深入的了解,来Shine公司快三个月了,公司的ORM框架就是用Hiberante ...

  8. 20145308刘昊阳 《Java程序设计》第6周学习总结

    20145308刘昊阳 <Java程序设计>第6周学习总结 教材学习内容总结 第10章 输入/输出 10.1 InputStream与OutputStream 10.1.1 串流设计概念 ...

  9. jquery放大镜效果

    <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8& ...

  10. 【BZOJ】2456: mode

    http://www.lydsy.com/JudgeOnline/problem.php?id=2456 题意:给一个$n<=500000$的数列,求出现次数超过$\lfloor \frac{n ...