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. Practical JAVA (四)异常处理

    Practice 16~27 一 异常控制流(exceptional control flow)机制: try{ <block> } catch(<ExceptionClass> ...

  2. rem单位在手机网站中的使用

    em单位是相对于父节点的font-size,会有一些组合的问题,而rem是相对于根节点(或者是html节点),也就是说你可以在html节点定义一个单独的字体大小,然后所有其他元素使用rem相对于这个字 ...

  3. POJ 2406 KMP/后缀数组

    题目链接:http://poj.org/problem?id=2406 题意:给定一个字符串,求由一个子串循环n次后可得到原串,输出n[即输出字符串的最大循环次数] 思路一:KMP求最小循环机,然后就 ...

  4. 关于oracle ORA-28001的解决方法

    今天发现客户的机器上的系统登录不上了,并且提示如下情况: 发现原来Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用户密码未做修 ...

  5. Codeforces Round #346 (Div. 2)

    前三题水 A #include <bits/stdc++.h> typedef long long ll; const int N = 1e5 + 5; int main() { int ...

  6. 【oracle】解锁oracle用户,unlock

    解除oracle用户的锁定状态,例如oracle数据库建立测试实例时默认建立的scott用户,一开始是处于locked状态的,现在我们需要将其解锁,步骤如下: (1)在cmd中登录sqlplus,例如 ...

  7. change,propertychange,input事件小议

    github上关于mootools一个issue的讨论很有意思,所以就想测试记录下.感兴趣的可以点击原页面看看. 这个问题来自IE(LTE8)中对checkbox和radio change事件的实现问 ...

  8. 翻译:让网络更快一些——最小化浏览器中的回流(reflow)

    关于reflowreflow(英音:[ri:’fləu] 美音:[ri’flo])在词典中的解释是回流,逆流.而在web应用中,翻译为回流有些牵强.我个人觉得,理解为回炉(重新塑形),似乎更加形象一点 ...

  9. HDU 2586 (LCA模板题)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2586 题目大意:在一个无向树上,求一条链权和. 解题思路: 0 | 1 /   \ 2      3 ...

  10. [Leetcode] Maximum Gap

    Given an unsorted array, find the maximum difference between the successive elements in its sorted f ...