java 通过控制台输入的数字打印菱形字母
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 通过控制台输入的数字打印菱形字母的更多相关文章
- Java初学者作业——编写Java程序,输入一个数字,实现该数字阶乘的计算。
返回本章节 返回作业目录 需求说明: 编写Java程序,输入一个数字,实现该数字阶乘的计算.一个数字的阶乘是所有小于及等于该数的正整数的积,自然数n的阶乘写作n! .例如,5的阶乘等于1*2*3*4* ...
- Java50道经典习题-程序19 输入行数打印菱形图案
题目:根据用户输入的行数打印菱形图案,若用户传入的是为偶数则提示用户重新输入,例如输入数字7打印出如下菱形图案 * *** ************ ***** *** *分析:先把图形分 ...
- java接收控制台输入
java控制台输入语句: Scanner sc = new Scanner(System.in); 通过一个变量,例如 int r; r = sc.nextInt(); 例子: public st ...
- Python输入一个数字打印等腰三角形
要求 用户输入一个数字,按照数字打印出等腰三角形 思路 1,用户输入的数字为n代表一共有多少行 2,使用一个循环带两个for循环,第一层循环是循环行数,第二层两个平行for循环一个打印空格一个打印*号 ...
- java 获取控制台输入
读取控制台输入 从控制台读取一行数据,返回值字符串 public class IO { public static void main(String args[]) throws IOExceptio ...
- java扫描控制台输入
由于因最近练习算法的需要,加上API文档中翻译的太过模糊,做了一些小测试,算是武断的记下一些个人结论. Scanner cin = new Scanner(System.in); 对于cin.next ...
- java从控制台接收一个数字
//时间:2017/7/22//作者:江骆//功能:从控制台接收一个数import java.io.*; //引入一个IO流的包public class helloworld1{ public ...
- java例题_08 输入特定数字求和(n个a位数递增求和问题)
1 /*8 [程序 8 输入数字求和] 2 题目:求 s=a+aa+aaa+aaaa+aa...a 的值,其中 a 是一个数字.例如 2+22+222+2222+22222(此时共有 5 个数相加), ...
- java在控制台输出空心正方形,菱形,空心菱形
使用for和if打印一个空心正方形 /*思路:要想打印一个5x5的空心正方形,首先它的第一横行和最后一行都是填满的,需要全部遍历出来,第二三四行和只有左右两条边是出来的,中间部分为空的.因此在打印第 ...
随机推荐
- Loadrunner中关联的作用:
获取并保存变化的request值{1.sessionid;2.获取上个请求的响应值,用于下个请求参数} 作为检查点 脚本调试工具
- Liferay 6.2 改造系列之一:源码编译和服务启动
一.导入源码 源码可以从Liferay的官方网站上下载.http://www.liferay.com/downloads/liferay-portal/available-releases 下载后解压 ...
- 廖雪峰js教程笔记 2
arguments JavaScript还有一个免费赠送的关键字arguments,它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数.arguments类似Array但它不是一个Arr ...
- javascript引擎工作原理
1. 什么是JavaScript解析引擎? 简单地说,JavaScript解析引擎就是能够“读懂”JavaScript代码,并准确地给出代码运行结果的一段程序.比方说,当你写了 var a = 1 + ...
- Maven的简单使用,HelloWorld
安装好Maven后就用一个简单的HelloWorld程序来测试一下,体验一下Maven.至于不懂的地方,请查看<Maven实战>书籍. 书籍网址:http://download.csdn. ...
- 差分约束系统 POJ 3169 Layout
题目传送门 题意:有两种关系,n牛按照序号排列,A1到B1的距离不超过C1, A2到B2的距离不小于C2,问1到n的距离最大是多少.如果无限的话是-2, 如果无解是-1 分析:第一种可以写这样的方程: ...
- 解决(空密码的root)提示修改phpmyadmin用户密码
打开 phpmyadmin数据表,点击权限 如果没有,请参考:http://jingyan.baidu.com/article/636f38bb293a9bd6b846100d.html 创建 在 ...
- 如何处理js的跨域问题
在bill.mail.10086.cn域内访问smsrebuild1.mail.10086.cn下的接口出现“阻止跨域源请求” 例如: URL 说明 是否允许通信 http://www.a.com/a ...
- jquery layer弹出层插件
http://www.51xuediannao.com/js/jquery/jquery_layer/layer.html
- webpack练手项目之easySlide(一):初探webpack (转)
最近在学习webpack,正好拿了之前做的一个小组件,图片轮播来做了下练手,让我们一起来初步感受下webpack的神奇魅力. webpack是一个前端的打包管理工具,大家可以前往:http:/ ...