想起了一道面试题:根据输入的数字a打印2a-1项的先递增到a项再递减的*行。
来源:互联网 发布:c 语言课程主要内容 编辑:程序博客网 时间:2024/05/29 02:56
本题代码原创手打,如有雷同,那也只能说:缘,妙不可言!
public class PrintStar {
public static void main(String[] args){
int a=5;
PrintStar p=new PrintStar();
int[] arr=p.getStarNumber(a);
for(int i=0;i<arr.length;i++){
p.printStar(arr[i]);
}
}
public int[] getStarNumber(int a ){//产生保存了每一项上星星数目的数组,数组的值代表第i+1 个元素上(arr[0]==第一位)上应该打印多少个星星
int[] arr=new int[2*a-1];
for(int i=0;i<a;i++){
//如果达到arr[a-1]项 剩下的数组元素按奇数递减,直到最后一位
if((i+1)==a){
for(int j=a-1,m=a;j<2*a-1;j++,i++,m--){
arr[i]=2*(m)-1;
}
}else{
//没有达到数组元素的arr[a-1]项,数组得值以奇数递增
arr[i]=2*(i+1)-1;
}
}
return arr;
}
public void printStar(int a){//打印星星(你给我几个我就打印几个嘞)
StringBuffer s=new StringBuffer();
for(int i=0;i<a;i++){
s.append("*");
}
System.out.println(s);
}
}
面试的时候瞎几把写,回来想想 整理了一下思路。各位看官有没有更简单的写法?
- 想起了一道面试题:根据输入的数字a打印2a-1项的先递增到a项再递减的*行。
- 经典的一道JAVA面试题:A、B线程循环打印A、B
- 一道腾讯的面试题,关于a和&a
- 一道超偏的c++面试题: (int&)a
- 【面试题】一个数组a[n-1]缺失了1到n之间的哪个数?
- 面试题82:一句先递增打印再递减打印
- 一道数字的面试题
- a++的一道题
- 一道超偏的c++面试题: (int&)a和(int)a的区别,考点:类型转换
- JAVA中 就字母由 A=>Z 递增 和 Z=>A 递减的输出问题
- 一道面试题:1和2的数字序列
- 两个关于a,b的面试题
- 求Sn=a+a*a+a*a*a+a*a*a*a的和,其中a是一个数字。
- 一道打印M型的面试题
- 一道打印M的面试题
- 据说是腾讯的面试题:两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];
- 想起以前面过的一道题目
- 【剑指offer】面试题18:输入两颗二叉树A和B,判断B是不是A的子结构?
- Qt中头源文件内容
- 用1、2、2、3、4、5这六个数字,打印出所有不同的排列
- cmake编译时候出现recompile with -fPIC
- r,w,a 与 r+, w+, a+的区别
- Java内部类学习小记
- 想起了一道面试题:根据输入的数字a打印2a-1项的先递增到a项再递减的*行。
- Python学习1-安装和Hello world
- 关于布局的Demo
- 2017.7.03 学习记录 Java与MySql的连接
- 字符集GBK和UTF8的区别
- 利用归并排序求逆序数
- HDU5969-最大的位或
- 基础知识记录:Activity生命周期与Fragment生命周期
- 状态栏1---状态栏响应滚动事件