本帖最后由 zxj35986847 于 2015-5-12 09:57 编辑
直接上代码.没事可以进来绕几圈.哈哈.给技术啊.管理们... 要考黑马啊......谢谢了.
/*
for循环输出空心菱形
设计过程:
1.创建Diamond类,在该类的主方法中调用printHollowRhombus()方法完成10行的空心菱形的输出。
2.其中printHollowRhombus()方法是自定义的,该方法使用两个双侧for循环分别输出菱形的上半部分和下半部分。
*/
public class Diamond{
public static void main(String[] args){
printHollowRhombus(10);
}
public static void printHollowRhombus(int size){
if(size%2==0){
size++;
}
for(int i=0;i<size/2+1;i++){
for(int j=size/2+1;j>i+1;j--){
//输出左上角位置的空白
System.out.print(" ");
}
for(int j=0;j<2*i+1;j++){
if(j==0||j==2*i){
//输出菱形上半部边缘
System.out.print("*");
}else{
//输出菱形上半部空心
System.out.print(" ");
}
}
System.out.println("");
}
for(int i =size/2+1;i<size;i++){
for(int j=0;j<i-size/2;j++){
//输出菱形左下角空白
System.out.print(" ");
}
for(int j=0;j<2*size-1-2*i;j++){
if(j==0||j==2*(size-i-1)){
//输出菱形下半部边缘
System.out.print("*");
}else{
//输出菱形下半部空心
System.out.print(" ");
}
}
System.out.println("");
}
}
}
针对有人说这个代码麻烦,我这还有个版本.发下,看看这个能简单点?
这个加入了键盘录入的效果.
package com.ifuwant;
import java.util.Scanner;
public class Tests {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入菱形边长:");
int num = sc.nextInt();
for (int i = 1; i <= num; i++) {
for (int j = 1; j < num - i + 1; j++) {
System.out.print(" ");
}
int count = 2 * i - 1;
for (int k = 0; k < count; k++) {
if (0 == k || count - 1 == k)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println("");
}
for (int i = 1; i < num; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(" ");
}
int count = 2 * (num - i) - 1;
for (int k = 0; k < count; k++) {
if (k == 0 || k == count - 1)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println("");
}
}
}
|
|