主题:一个关于FOR循环的题,求赐教!
Javarookie
[专家分:0] 发布于 2012-04-22 23:34:00
题目是要求打印出这样一个图形:
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
求各位写代码,最好是有注释,通俗易懂!
回复列表 (共5个回复)
沙发
java小丑 [专家分:50] 发布于 2012-05-03 20:41:00
public class test {
public static void main(String[] args) {
final int Num=4;
for(int i=1;i<=Num;i++){
for(int j=1;j<=Num-i;j++){
System.out.print(" ");
}
for(int j=1;j<=i;j++){
System.out.print(j);
}
for(int k=i-1;k>=1;k--){
System.out.print(k);
}
System.out.println();
}
}
}
帖子看到的比较晚,不知道还有用没。程序我调好的,楼主可以参考一下,循环不是很复杂,所以就不加注释了。
板凳
ChinaPoison [专家分:10] 发布于 2012-05-07 20:34:00
import java.*;
public class print
{
public static int _printNum;
static
{
_printNum = 2;
}
public static void main(String[] args)
{
int i = 0;
for(i = 1; i <= 9; ++i)
{
_printNum = i;
Print();
}
}
public static void Print()
{
for(int j = 1; j < _printNum; ++j)
{
// 打印空格
for(int i = 1; i < _printNum - j; ++i)
{
System.out.print(" ");
}
// 打印数字
for(int i = 1; i <= j * 2 - 1; ++i)
{
if(i <= j)
{
System.out.print(i);
}
else
{
System.out.print(j - i % j);
}
}
System.out.print("\n");
}
System.out.print("\n");
}
}
3 楼
xuyieagleking [专家分:10] 发布于 2012-05-14 15:46:00
package test;
public class Test1 {
public static void main(String[] args) {
for(int i = 1 ; i<=4;i++){
for(int j = 1 ; j<=3+i;j++){
//如果是最右边则输出1并结束本行
if(j == 3+i){
System.out.println(1);
break;
}
if(j<=4){
//在j增长到4之前,数字满足j+i-4的规律,小于等于0的为零
System.out.print(j+i-4>0?j+i-4:" ");
}else{
//在j大于4时,满足i+4-j的规律,小于等于0的为零
System.out.print(i+4-j>0?i+4-j:" ");
}
}
}
}
}
4 楼
bcyu [专家分:0] 发布于 2012-05-29 09:00:00
都 是牛人啊,赞个,这种程序纯粹是锻炼下思维的,记得刚学编程语言的时候与写过,现在要马上写出来,还真困难..........
5 楼
toniling310 [专家分:0] 发布于 2012-11-14 23:53:00
public class NumTriangle {
static int endline=4;// 你可以在这里自定义画多少行这样的数
static int num=0;
static int num(int line, int count){
return (count<endline ? ++num :--num );
}
static String getString(int line, int endline){
StringBuilder sb= new StringBuilder();
int count=0;
final int MAX=2*(endline-1)+1;
while(count<MAX-(endline-line)){
sb.append(count<endline-line ? " ":num(line, count));
count++;
}
return sb.toString();
}
public static void main(String[] args){
for (int i=1;i<endline+1; i++){
System.out.println(getString(i,endline));
num=0;
}
}
}
我来回复