想起了一道面试题:根据输入的数字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);
}
}


面试的时候瞎几把写,回来想想 整理了一下思路。各位看官有没有更简单的写法?

阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩吃饭太少怎么办 孩子不正经吃饭怎么办 月经少卵巢早衰怎么办 四个月婴儿厌食怎么办 孩子读书成绩差怎么办 小孩学习记不住怎么办 儿童不爱吃菜怎么办 10儿童不爱吃饭怎么办 儿童不爱吃蔬菜怎么办 婴儿不爱吃饭怎么办啊 初中不爱写作业怎么办 老是不想写作业怎么办 一年级孩子不爱学怎么办 一年级孩子不爱学习怎么办 我不想读书了怎么办 孩子读书读不懂怎么办 一岁多宝宝不吃奶粉怎么办 小孩不讲话怎么办 舌头 看书记不住内容怎么办 看不下去书怎么办 职高读不下去怎么办 小孩不主动说话怎么办 不喜欢自己的儿子怎么办 生了儿子不喜欢怎么办 孩子不愿意去幼儿园怎么办 内向妈妈带孩子怎么办 从小就不爱学习怎么办 孩子老爱玩不爱学习怎么办? 孩子不爱做题怎么办 看书静不下心怎么办 孩子不自觉学习怎么办 不自觉的孩子怎么办 不学习的孩子怎么办 电脑不受老师控制怎么办 儿子不尊重老师怎么办 小孩不喜欢吃蔬菜怎么办 小孩不愿练钢琴怎么办 孩子不喜欢幼儿园老师怎么办 孩子不主动思考怎么办 我初一不想读书怎么办 初中孩子不爱学习怎么办