黑马程序员技术交流社区
标题:
用for嵌套要怎么设计打印出这样的数值图谱
[打印本页]
作者:
深情小建
时间:
2013-9-29 22:17
标题:
用for嵌套要怎么设计打印出这样的数值图谱
看基础视频毕老师讲解for嵌套的时候有这么几个例子,
后来我自己想发散下思维,自己瞎搞了几个图像但是却写不出实现代码,真是汗颜啊~~~~~~~~~~~
还望有高手给我解决
不是规律的规律:
尖朝上,可以改变条件。让条件随着外循环变化
尖朝下,可以初始化值,让初始化随着外循环变化
毕老师的实例:
/*
1
12
123
1234
12345
*/
for(int x=0;x<5;x++)
{
for(int y=1;y<=x+1;y++)
{
System.out.print(y);
}
System.out.println();
}
System.out.println("---------------------");
/*
12345
1234
123
12
1
*/
for(int x=5;x>=1;x--)
{
for(int y=1;y<=x;y++)
{
System.out.print(y);
}
System.out.println();
}
复制代码
希望有高手能够把下面这个图形打印出来
图形一、
1
212
32123
4321234
543212345
图形二、
543212345
4321234
32123
212
1
图形三、
1
212
32123
4321234
543212345
4321234
32123
212
1
图形四、
5
444
33333
2222222
111111111
2222222
33333
444
5
作者:
熊亮
时间:
2013-9-29 22:57
public static void main(String[] args)
{
for(int x=1;x<=5;x++)
{
for(int y=x+1;y<=5;y++)
{
System.out.print(" ");
}
for(int z=1;z<=x;z++)
{
System.out.print(x-z+1);
}
for(int m=2;m<=x;m++)
{
System.out.print(m);
}
System.out.println();
}
}
复制代码
// 1
// 212
// 32123
// 4321234
//543212345
作者:
杨增坤
时间:
2013-9-29 22:59
我给你一个例子:我打印出了第一个图形,其实其他的图像都是相似的,只需要稍微更改下就可以
public class ClassDemo {
public static void main(String[] args) {
StringBuffer buf = new StringBuffer();
for (int i = 1; i <= 5; i++) {
if (i == 1) {
gg(5-i);
buf.append(i);
System.out.println(buf);
} else {
gg(5-i);
buf.insert(0, i).append(i);
System.out.println(buf);
}
}
}
public static void gg(int n){
for(int i=1;i<=n;i++){
System.out.print(" ");
}
}
}
复制代码
结果:
1
212
32123
4321234
543212345
希望对你有帮助!
作者:
熊亮
时间:
2013-9-29 23:24
public static void main(String[] args)
{
for(int x=1;x<=5;x++)
{
for(int y=1;y<x;y++)
{
System.out.print(" ");
}
for(int z=x;z<=5;z++)
{
System.out.print(6-z);
}
for(int m=2;m<=6-x;m++)
{
System.out.print(m);
}
System.out.println();
}
}
复制代码
543212345
4321234
32123
212
1
作者:
熊亮
时间:
2013-9-29 23:32
杨增坤 发表于 2013-9-29 22:59
我给你一个例子:我打印出了第一个图形,其实其他的图像都是相似的,只需要稍微更改下就可以结果:
1
...
师兄果然高级{:soso__10169062262133571330_1:}
作者:
风悠悠
时间:
2013-9-30 16:35
本帖最后由 风悠悠 于 2013-9-30 16:40 编辑
public static void main(String[] args) {
int MaxNum=5;
int NowNum=MaxNum;
int printLen=0;
boolean sign=true;
int high=MaxNum*2-1;
while(high>0){
printLen=(MaxNum-NowNum)*2+1;
print(NowNum,printLen);
high--;
if(NowNum==1)
sign=false;
if(sign)
NowNum--;
if(!sign)
NowNum++;
}
}
public static void print(int NowNum,int printLen){
int count=NowNum;
while(count-1>0){
System.out.print(" ");
count--;
}
while(printLen>0){
if(printLen==1)
System.out.println(NowNum);
else
System.out.print(NowNum);
printLen--;
}
}
复制代码
打印结果
5
444
33333
2222222
111111111
2222222
33333
444
5
作者:
睡不够的猪
时间:
2013-10-1 11:29
class TuXing
{
public static void main(String[] args)
{
for(int x=1;x<=5;x++)
{
for(int y=x+1;y<=5;y++)
{
System.out.print(" ");
}
for(int z=1;z<=x;z++)
{
System.out.print(5-x+1);
}
for(int a=2;a<=x;a++)
{
System.out.print(5-x+1);
}
System.out.println();
}
for(int x1=1;x1<=4;x1++)
{
for(int y1=1;y1<=x1;y1++)
{
System.out.print(" ");
}
for(int z1=x1;z1<=4;z1++)
{
System.out.print(x1+1);
}
for(int a1=2;a1<=5-x1;a1++)
{
System.out.print(a1+1);
}
System.out.println();
}
}
}
复制代码
5
444
33333
2222222
111111111
2222222
33333
444
5
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2