黑马程序员技术交流社区
标题:
for的嵌套
[打印本页]
作者:
净坛使者
时间:
2014-1-4 23:30
标题:
for的嵌套
为什么总打印不出规则菱形
class Demo13_ForFor {
public static void main(String[] args) {
//打印空心菱形
for (int x = 1;x <= 5 ;x++ ) {
for (int y = x;y <= 4 ;y++ ) {
System.out.print(" ");
}
for (int z = 1;z <= x ;z++ ) {
if (z == 1 || z == x) {
System.out.print("* ");
}else {
System.out.print(" ");
}
}
System.out.println();
}
for (int a = 1;a <= 4 ;a++ ) {
for (int b = 1;b <= a ;b++ ) {
System.out.print(" ");
}
for (int c = a;c <= 4 ;c++ ) {
if (c == a || c == 4) {
System.out.print("* ");
}else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
作者:
忘记了
时间:
2014-1-4 23:54
class Demo{
public static void main(String[] args) {
//打印空心菱形
for (int x = 1;x <= 5 ;x++ ) {
for (int y = x;y <= 4 ;y++ ) {
System.out.print(" ");
}
for (int z = 1;z <= 2*x-1 ;z++ ) {
if (z == 1 || z == 2*x-1) {
System.out.print("*");
}else {
System.out.print(" ");
}
}
System.out.println();
}
for (int a = 1;a <= 4 ;a++ ) {
for (int b = 1;b <= a ;b++ ) {
System.out.print(" ");
}
for (int c = a;c <= 2*4-a ;c++ ) {
if (c == a || c == 2*4-a) {
System.out.print("*");
}else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
复制代码
//看看是不是你想要的
作者:
原子弹
时间:
2014-1-5 00:50
您这个方法有点问题!!您试试这样!
作者:
原子弹
时间:
2014-1-5 00:57
class Demo {
public static void main(String[] args) {
for (int i = 0;i<7 ;i++ ) {
for (int j = 0;j<7-i ; j++) {
System.out.print(" ");
}
for (int k = 0;k<=i ;k++ ) {
System.out.print(" *");
}
System.out.println();
}
for (int i = 0;i<6 ;i++ ) {
for (int j = 0;j<=i+1 ;j++ ) {
System.out.print(" ");
}
for (int k = 0;k<6-i ;k++ ) {
System.out.print(" *");
}
System.out.println();
}
}
}
作者:
小小菜鸟
时间:
2014-1-5 18:21
/*
图形打印原理:把菱形拆分成两个等边三角形,分别打印上下两个三角形,组合成菱形
*/
class Demo13_ForFor {
public static void main(String[] args) {
//打印空心菱形
for (int x = 1;x <= 5 ;x++ ) {
//外层循环控制行数,即为上半个三角形的行数
// 内循环一控制空格的输出
for (int y = x;y <= 4 ;y++ ) {
System.out.print(" ");
}
for (int z = 1;z <= 2*x-1 ;z++ ) {
//判断是本行的第一个个最后一个打印*
if (z == 1 || z == 2*x-1) {
System.out.print("* ");
}else {
//其他的都输入空格
System.out.print(" ");
}
}
System.out.println();
}
//外层循环控制行数,下半个三角形比上面的少一行,所以是4
for (int a = 1;a <= 4 ;a++ ) {
for (int b = 1;b <= a ;b++ ) {
System.out.print(" ");
}
//第一个为1,最后一个是(5-a)*2-1,所以不用<=(5-a)*2
for (int c = 1;c < (5-a)*2 ;c++ ) {
if (c == 1 || c == (5-a)*2-1) {
System.out.print("* ");
}else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2