黑马程序员技术交流社区

标题: Java输出 菱形问题 [打印本页]

作者: Johnny_Hu    时间: 2015-3-6 20:23
标题: Java输出 菱形问题
  1. package com.itheima;

  2. import java.util.*;
  3. public class Demo1 {
  4.         /*
  5.          * 输出一个空心菱形
  6.          */
  7.        
  8.         static int demo(int num){
  9.                 for(int i=0; i<num; i++){
  10.                         for(int k=num; k>i; k--){
  11.                                 System.out.print(" ");
  12.                         }
  13.                        
  14.                         for(int j=0; j<=i*2; j++){
  15.                                 if(j==0 || j==num)
  16.                                 {
  17.                                         System.out.print("*");
  18.                                 }else{
  19.                                         System.out.print(" ");
  20.                                 }
  21.                                
  22.                         }
  23.                         System.out.println();
  24.                 }
  25.                 for(int i=0; i<num; i++){
  26.                         for(int k=0; k<=i; k++){
  27.                                 System.out.print(" ");
  28.                         }
  29.                        
  30.                         for(int j=0; j<(num-i)*2-1; j++){
  31.                                 if(j==0 || j==num)
  32.                                 {
  33.                                         System.out.print("*");
  34.                                 }else{
  35.                                         System.out.print(" ");
  36.                                 }
  37.                                
  38.                         }
  39.                         System.out.println();
  40.                 }
  41.                 return num;
  42.         }
  43.        
  44.         public static void main(String[] args) {
  45.                 Scanner in = new Scanner(System.in);
  46.                 System.out.print("请输入一个整数:");
  47.                 int num = in.nextInt();
  48.                 demo(num);
  49.         }

  50. }
  51. //前面一个会判断 可是最后输出的*符号 不知道该恒等于几
复制代码


作者: shewim    时间: 2015-3-7 14:05
后面一个“*”不应该就是你内层循环的边界值吗?
  1. package com.itheima;

  2. import java.util.*;
  3. public class Demo1 {
  4.         /*
  5.          * 输出一个空心菱形
  6.          */
  7.       
  8.         static int demo(int num){
  9.                 for(int i=0; i<num; i++){
  10.                         for(int k=num; k>i; k--){
  11.                                 System.out.print(" ");
  12.                         }
  13.                        
  14.                         for(int j=0; j<=i*2; j++){
  15.                                 if(j==0 || j==i*2)
  16.                                 {
  17.                                         System.out.print("*");
  18.                                 }else{
  19.                                         System.out.print(" ");
  20.                                 }
  21.                               
  22.                         }
  23.                         System.out.println();
  24.                 }
  25.                 for(int i=0; i<num; i++){
  26.                         for(int k=0; k<=i; k++){
  27.                                 System.out.print(" ");
  28.                         }
  29.                        
  30.                         for(int j=0; j<=(num-i)*2-2; j++){
  31.                                 if(j==0 || j==(num-i)*2-2)
  32.                                 {
  33.                                         System.out.print("*");
  34.                                 }else{
  35.                                         System.out.print(" ");
  36.                                 }
  37.                               
  38.                         }
  39.                         System.out.println();
  40.                 }
  41.                 return num;
  42.         }
  43.       
  44.         public static void main(String[] args) {
  45.                 Scanner in = new Scanner(System.in);
  46.                 System.out.print("请输入一个整数:");
  47.                 int num = in.nextInt();
  48.                 demo(num);
  49.         }

  50. }
复制代码

作者: Johnny_Hu    时间: 2015-3-7 20:06
谢谢  可以了  
作者: Johnny_Hu    时间: 2015-3-7 20:13
shewim 发表于 2015-3-7 14:05
后面一个“*”不应该就是你内层循环的边界值吗?

谢谢  可以了  :P




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2