初学java几日,极其简单问题.

allen0311 2004-11-21 05:30:46

*
***
*****
*******
*********
***
***
***
让程序画类似这个的图,使用者输入参数 树的宽度(这个例子是9个*, 树杆高度(这个例子是3个*.
初学,对Sting的用运很陌生.
...全文
106 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackkui 2004-11-21
  • 打赏
  • 举报
回复
构造一个方法,让每一行都以一个string形式返回,按着你给的例子应该是下面这样的。

String starString(int current,int maxLength,char star){
String result = "";
for(int i = 0 ; i < maxLength ; i++){
if(i>=maxLength/2-current && i <= maxLength/2+current){
result = result + star;
}
else{
result = result + " ";
}
]
这样就能输出每一行的了。用一个循环就能输出上面的箭头了
for(int i = 0 ; i < 5 ; i++){
System.out.println(starString(i,9,'*'));
}
下面的输出就比较容易了
如果你一定要使用字符串的话可以使用上面的方法。否则循环也能解决。
zhuyupu2004 2004-11-21
  • 打赏
  • 举报
回复
public class TimeFormatDemo{
public static void main(String args[]) throws java.io.IOException {
int width=9;
int height=3;
int i,k;
for(i=1,k=width/2;i<=width;i+=2,k--){
for(int j=0;j<k;j++){ //输出树叶部分
System.out.print(" ");
}
for(int n=0;n<i;n++){
System.out.print("*");
}
System.out.println();
}
for(i=0;i<height;i++){ //输出树干部分
for(int j=0,l=width/2;j<l-1;j++){
System.out.print(" ");
}
for(int n=0;n<3;n++){
System.out.print("*");
}
System.out.println();
}
}
}
写的不是很简捷
javafaq2004 2004-11-21
  • 打赏
  • 举报
回复
向你问声早上好!

这个难度应该不大吧!和String无关。循环就行了。楼下的,你说对不对?对。那你做做看。

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧