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. JDBC操作MySQL数据库案例

    JDBC操作MySQL数据库案例 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...

  2. AChartEngine使用View显示图表

    学习过AChartEngine的人肯定都知道,使用ChartFactory创建一张图表可以使用Intent方法,之后调用StartActivity来启用这个Intent,但是这么左右一个坏处,就是当你 ...

  3. Windows安装java

    1.下载并安装java(jdk)//在官网下载即可——http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363. ...

  4. SPOJ REPEATS 后缀数组

    题目链接:http://www.spoj.com/problems/REPEATS/en/ 题意:首先定义了一个字符串的重复度.即一个字符串由一个子串重复k次构成.那么最大的k即是该字符串的重复度.现 ...

  5. ReportViewer报表

    个人感觉ReportViewer>DataGridView>listView 打开一个空的winform窗体程序,工具栏报表拖入 ReportViewer 在空的Form1中 在同一命名空 ...

  6. Console.log,Window.alert,Document.write三者区别

    1.Console.log不会阻断程序继续进行,在控制台可以看到测试结果. 2.Window.alert弹出框会阻断程序运行,在弹出框可以看到测试结果. 3.Document.write不会阻断程序继 ...

  7. zoj 3795 Grouping tarjan缩点 + DGA上的最长路

    Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit Status Practic ...

  8. CSS3实现动画

    CSS3实现一个简单的动画 可以改变任意多的样式任意多的次数,用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%. ...

  9. OAuth2授权页面state参数的设计

    场景描述: 第三方应用:freeshare 账号系统:account freeshare点击登录,跳转到account页面进行授权. 具体例子可以参考我们的freeshare系统:http://fre ...

  10. bzoj1006 [HNOI2008]神奇的国度

    1006: [HNOI2008]神奇的国度 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 2304  Solved: 1043 Description ...