问个基本的问题,如何使用for循环编写java程序,打印出菱形

jihaixiao8 2012-10-28 08:39:58
如题,小弟完全没头绪啊,求问一下,这是21天学通java上的一个练习
...全文
1483 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
依琳小师妹 2012-11-07
  • 打赏
  • 举报
回复
引用 2 楼 Object1231 的回复:
怎么思考呢?引用 1 楼 的回复:Java code public class PrintLinx { public static void main(String[] args) { int i,j,k; /*控制上半部的行数*/ for(i=0;i<=3;i++) { ……
自己用断点调试看一下就明白了。
Mr_sunboy 2012-10-31
  • 打赏
  • 举报
回复
这个要去慢慢去找规律..给你一个..

for(int i=1;i<10;i++){
for(int j=0;j<Math.abs(5-i);j++){
System.out.print(" ");
}
for(int k=0;k<(5-Math.abs(5-i));k++){
System.out.print(" *");
}
System.out.println();
}

oLeopard123 2012-10-31
  • 打赏
  • 举报
回复
提供一个封装好的打印菱形的类,还望指教!!!

package com.fzw.test.graph;

public class Diamond {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Diamond.print(13);//这里设置菱形对角线长度
}

private static void diamondTest(int i) {
// TODO Auto-generated method stub
for (int m = 0; m < i; m++)
for (int n = 0; n <= i; n++) {
if (n < i) {
System.out.print("*" + " ");
} else {
System.out.println();
}

}
}

private static void diamondTestNum(int i) {
// TODO Auto-generated method stub
for (int m = 0; m < i; m++)
for (int n = 0; n <= i; n++) {
if (n < i) {
System.out.print("(" + m + "," + n + ")");
} else {
System.out.println();
}
}
}

private static void diamondTestNum1(int i, int j) {
// TODO Auto-generated method stub
for (int m = 0; m < i; m++)
for (int n = 0; n <= i; n++) {

if (n < i) {
if (m == j || n == j || (m + n) == j || (m - n) == j
|| (n - m) == j || (m + n) == i + j - 1) {
System.out.print("*" + " ");
} else {
System.out.print(" ");
}
} else {
System.out.println();
}
}
}

private static int count(int i) {
int num = (i - 1) / 2;
return num;
}

private static void print(int i) {
Diamond.diamondTestNum(i);
Diamond.diamondTest(i);
Diamond.diamondTestNum1(i, Diamond.count(i));
}

}
wang7631579 2012-10-29
  • 打赏
  • 举报
回复
第一 找出相似的 部分 第二找出不同的部分 相似 循环 不同的 部分 自己 看看有什么规律 不要 上来 就问 别人怎么写 自己多想想 这样 才能 锻炼
wonkju 2012-10-29
  • 打赏
  • 举报
回复
那不是将两个图形分解成一个图形咯···
xiaohe8503 2012-10-29
  • 打赏
  • 举报
回复
这个要找规律的,这就是算法。
y000n520 2012-10-29
  • 打赏
  • 举报
回复
就for循环的问题
ewth126 2012-10-28
  • 打赏
  • 举报
回复
编程就是分而治之的过程。
Object1231 2012-10-28
  • 打赏
  • 举报
回复
怎么思考呢?[Quote=引用 1 楼 的回复:]
Java code
public class PrintLinx {
public static void main(String[] args) {
int i,j,k;
/*控制上半部的行数*/
for(i=0;i<=3;i++)
{
/*打印*号前面的空格*/
……
[/Quote]
依琳小师妹 2012-10-28
  • 打赏
  • 举报
回复
public class PrintLinx {
public static void main(String[] args) {
int i,j,k;
/*控制上半部的行数*/
for(i=0;i<=3;i++)
{
/*打印*号前面的空格*/
for(j=0;j<=2-i;j++)
System.out.print(" ");
/*打印每行的**/
for(k=0;k<=2*i;k++)
System.out.print("*");
System.out.println();
}
//下半部分
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
System.out.print(" ");
for(k=0;k<=4-2*i;k++)
System.out.print("*");
System.out.println();
}
}
}

不懂再问。

62,621

社区成员

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

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