首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

怎么在Java程序中用*输出一个菱形的有关问题

2011-11-29 
如何在Java程序中用*输出一个菱形的问题!1.这样的如下图:*************2.这样的如下图:***************谢

如何在Java程序中用*输出一个菱形的问题!
1.这样的如下图:            
        *
    *   *   *
*   *   *   *   *
    *   *   *  
        *

2.这样的如下图:
*   *   *   *   *
    *   *   *   *
        *   *   *
            *   *
                *

谢谢了..!




[解决办法]

1.这样的如下图:
*
* * *
* * * * *
* * *
*

public void printAngle(int n) //n=3
{
for(int i=1;i <n+1;i++)
{
for(int j=i;j <n+1;j++)
System.out.print( " ");
for(int k=1;k <i+1;k++)
System.out.println( "* ");//System.out.print(k);
for(int m=i-1;m> 0;m--)
System.out.println( "* ");//System.out.print(m);
System.out.println();
}
for(int i=n-1;i> 0;i--)
{
for(int m=1;m <n-i+2;m++)
System.out.print( " ");
for(int k=1;k <i+1;k++)
System.out.println( "* ");//System.out.print(k);
for(int j=i-1;j> 0;j--)
System.out.println( "* ");//System.out.print(j);
System.out.println();
}
}

2.这样的如下图:
* * * * *
* * * *
* * *
* *
*
public void printRecAngel(int n) //n=5
{
for(int i=1;i <n+1;i++)
{
for(int j=1;j <i;j++)
System.out.print( " ");
for(int j=i;j <n+1;j++)
System.out.print( "* ");//System.out.print(j);
System.out.println();
}
}
[解决办法]
class Print{
public static void main(String arg[]){
printRecAngel();
printRecAngel();
}
public void printRecAngel()
{

System.out.println( " * " );
System.out.println( " * * * ");
System.out.println( " * * * * * ");
System.out.println( " * * * ");
System.out.println( " * ");


}
public void printRecAngel(){
System.out.println( "* * * * * ");
System.out.println( " * * * * ");
System.out.println( " * * * ");
System.out.println( " * * ");
System.out.println( " * ");


}
}
[解决办法]
1.这样的如下图:
*
* * *
* * * * *
* * *
*
public class A
{
public static void main(String[] args)
{
for(int i=1;i <=3;i++)
{
for(int j=1;j <=6-2*i;j++)

System.out.print( " ");

for(int j=1;j <=2*i-1;j++)

System.out.print( "* ");


System.out.println(); //打印上三角

}



for(int i=1;i <=2;i++)
{
for(int j=1;j <=2*i;j++)

System.out.print( " ");

for(int j=1;j <=5-2*i;j++)

System.out.print( "* ");

System.out.println();


} //打印下三角


}
}


* * * * *
* * * *
* * *
* *
*
public class C

{
public static void main(String[] args)
{
for(int i=1;i <=5;i++) //打印行数
{
for(int j=1;j <=2*i-2;j++)

System.out.print( " "); //打印每行空格

for(int j=1;j <=6-i;j++)

System.out.print( "* "); //打印每行星号

System.out.println();
}


}
}
[解决办法]
第二个得:
public class Csdn {
private static int I=0;//控制“* '的个数

public static void main(String[] args) {

display(4);
}

public static void display(int n){
//采用递归
if(n> 0){
print(I,n);
I++;
display(n-1);
}
}

private static void print(int kong,int xing){
for(;kong> 0;kong--)//打印空格
System.out.print( " ");
for(;xing > 0;xing--)//打印“*”
System.out.print( "* ");
System.out.println();
}
}
[解决办法]
1.
/**
* 打印菱形
* @author AZERO
*/
public class PrintDiamond {

/**
* 打印菱形
* @author 汤波
* @param n
*/
public static void print(int n){
if(n > 0 && n % 2 != 0){
/*打印上半部*/
for(int i = 0;i < n / 2 + 1; i++){
for(int j = 0; j < n; j++){
if(j > = (n - 1) / 2 - i && j <= (n - 1) / 2 + i){
System.out.print( "* ");
}else{
System.out.print( " ");
}
}
System.out.println();
}

/*打印下半部*/
for(int i = 1;i <= (n - 1) / 2; i++){
for(int j = 0;j < n; j++){
if(j > = (n - 1) / 2 - n / 2 + i && j <= (n - 1) / 2 + n / 2 - i){
System.out.print( "* ");
}else{
System.out.print( " ");
}
}
System.out.println();
}
}else{
System.out.println( "请输入奇数! ");
}
}

/**
* @param args
*/
public static void main(String[] args) {
PrintDiamond.print(25);
}

}

2.太简单不说了
[解决办法]
呵呵!和我以前一样初学者的经历
[解决办法]
第一个稍微复杂一些,第二个就简单了。

其实输出图形的题目都可以这样做:
1、外部的循环控制行
2、外部循环的循环体负责输出每一行的内容,把这些内容和行号关联起来就可以发现规律了。
[解决办法]
有没有人能用构造方法做出来呢
[解决办法]
JAVA 爱好者加群 38236097
JAVA 爱好者加群 38236097

热点排行