黑马程序员技术交流社区
标题:
打印图形问题,我只能打印出上半部分,求兄弟们给下半...
[打印本页]
作者:
Maple_枫
时间:
2014-3-30 16:05
标题:
打印图形问题,我只能打印出上半部分,求兄弟们给下半...
本帖最后由 Maple_枫 于 2014-4-5 11:39 编辑
输入高度,输出菱形。如:输入9, 将输出如下图形
#
###
#####
#######
#########
#######
#####
###
#
public class Test6 {
public static void main(String[] args)
{
print(5);
}
public static void print(int x)
{
int a=0;
for(int i=1;i<=x;i+=2)
{
for(int b=a;b<5;b++)
{
System.out.print(" ");
}
for(int y=0;y<i;y++)
{
System.out.print("#");
}
for(int b=0;b<a+2;b++)
{
System.out.print(" ");
}
for(int c=0;c<=x+1;c+=2)
{
System.out.print("#");
}
x++;
System.out.println();
a++;
}
}
}
复制代码
作者:
僚机i
时间:
2014-3-30 16:08
晕。。你的内层循环怎么并列了这么多啊
import java.util.Scanner;
/**
* 输入行数打印菱形
*/
public class Diamond {
public static void main(String[] args) {
int rows = 0; //菱形的行数
Scanner input = new Scanner(System.in);
System.out.print("请输入菱形行数:");
rows = input.nextInt();
while(rows%2 == 0){
System.out.print("请输入奇数:");
rows = input.nextInt();
}
int n = (rows+1)/2;
//打印菱形的上半部分
for(int i = 1; i <= n; i++){//外层循环变量i控制行数
for(int j = 1; j <= n-i; j++){//内层循环变量j控制该行空格数
System.out.print(" ");
}
for(int k = 1; k <= 2*i-1; k++){//内层循环变量k控制该行*号数
System.out.print("*");
}
System.out.print("\n");
}
//打印菱形的下半部分
for(int i = n-1; i >= 1; i--){
for(int j = 1; j <= n-i; j++){
System.out.print(" ");
}
for(int k = 1; k <= 2*i-1; k++){
System.out.print("*");
}
System.out.print("\n");
}
}
}
复制代码
作者:
僚机i
时间:
2014-3-30 16:09
希望能对你有点帮助。。
作者:
松毛
时间:
2014-3-30 17:11
你好,下面的代码可以参考一下。
public class Test01 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
printStar(5);
}
public static void printStar(int num){
for(int i=1; i<=num; i++){ //该外层for循环控制上半部分打印的行数;
for(int x=i; x<=num-1; x++){ //该内层for循环控制打印的空格数;
System.out.print(" ");
}
for(int y=1; y<=i; y++){ //该内层for循环控制打印的*,注意为了对称要带上空格。
System.out.print("* ");
}
System.out.println(); //每打印一次就换一次行;
}
for(int z=1; z<=num-1; z++){ //该for循环控制下半部分打印的行数,因为要形成对称效果所以要比上半部分少打印一行即z<=num-1;
for(int n=1; n<=z; n++){ //这里的内层循环更上面的类似了。
System.out.print(" ");
}
for(int m=z; m<=num-1; m++){
System.out.print("* ");
}
System.out.println();
}
}
}
复制代码
作者:
杨希
时间:
2014-3-31 11:43
请参考哈
class Demo
{
public static void main(String args[])
{
print(9);
}
public static void print(int h)
{
for(int x = 0;x < h;x++)
{
for(int a = x;a < h-1;a++)
{
sop(" ");
}
for(int b = 0;b <= x;b++)
{
sop("# "); // #号旁边有个空格,感觉这样会好看一些
}
System.out.println();//换行
}
for(int y = 0;y < h;y++)
{
for(int m = 0;m <= y;m++)
{
sop(" ");
}
for(int z = y;z < h;z++)
{
sop("# ");
}
System.out.println();//换行
}
}
public static void sop(Object obj)
{
System.out.print(obj);
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2