当前位置:编程学习 > JAVA >>

用JAVA打出奇数行菱形

如图:

答案:public static void display(int num){
  if(num == 0)
   return;
  
  for(int row=0;row<num;row++){
   for(int col=1;col<num-row;col++){
    System.out.print(" ");
   }
   if(row %2 == 0){
    for(int col=0;col<row*2+1;col++){
     System.out.print("*");
    }
   }else{
    for(int col=0;col<row*2+1;col++){
     System.out.print("$");
    }
   }
   System.out.println();
  }
  for(int row=num;row>0;row--){
   for(int col=0;col<=num-row;col++){
    System.out.print(" ");
   }
   if(row % 2 == 0){
    for(int col=2;col<row*2-1;col++){
     System.out.print("$");
    }
   }else{
    for(int col=2;col<row*2-1;col++){
     System.out.print("*");
    }
   }
   System.out.println();
  }
 }

import java.util.Scanner;

public class Rhombus {

 public static void drawRhombus(int count) {

  int sum = 1;
  int num = 1;
  int i, j;
  // 正三角
  for (i = 1; i <= count; i++) {
   for (j = 0; j < (count+2) - i; j++) {
    System.out.print(" ");
   }
   while (num <= sum) {

    if (i % 2 == 1) {
     System.out.print("*");
    } else {
     System.out.print("@");
    }
    num++;
   }
   sum += 2;
   num = 1;
   System.out.println();
  }
  // 倒三角
  for (i = 1; i <= count+1; i++) {
   for (j = 0; j < i ; j++) {
    System.out.print(" ");
   }
   while (num <= sum) {

    if (i % 2 == 1) {
     System.out.print("@");
    } else {
     System.out.print("*");
    }
    num++;
   }
   sum -= 2;
   num = 1;
   System.out.println();
  }
 }

 public static void main(String[] args) {
  System.out.println("请输入打印的行数:");
  int rows = new Scanner(System.in).nextInt();
  drawRhombus(rows);
 }
}

import java.util.*;
public class diamond
{
 public static void main(String[] args)
 {
  System.out.println("请输入打印的行数:");
  int rows = new Scanner(System.in).nextInt();
  printDiamond(rows);
 }
 
public static void printDiamond(int rows)
 {
         int i,j,k;
         //打印出前rows行
 for( i = 0;i < rows;i++)
 {
  for( j = 0;j <= rows - i -1;j++)
   System.out.print(" ");
  for( k = 0; k <= 2*i;k++)
  {
   if( (i % 2) == 0)
   System.out.print("*");
   else
    System.out.print("@");
   
  }
  System.out.println();
 }
 //打印出后(rows -1)行
 for(i = 0;i < (rows -1);i++)
 {
  for( j = 0;j <= i+1;j++)
   System.out.print(" ");
  for(k = 0;k < (2*rows - 3 ) - 2*i;k++)
  {
   if(i % 2 ==0)
   System.out.print("@");
   else
    System.out.print("*");
  }
  System.out.println();
 }
 }
}
使用‘嵌套循环’做,代码你自己考虑,直接告诉你没有意义。

上一个:java编程问题 高手请进
下一个:跪求 CRM 概要设计 (Java)

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,