请编写程序,打印如下图形.你能想出几种方法?你认为最简单的方法是哪种?
1
111
11111
第一种(最不伤脑筋方法)
public class Hello {
public static void main(String args[]){
String str[][] = {{"","","1","",""},
{"","1","1","1",""},
{"1","1","1","1","1"}
};
int i,j;
for(i = 0;i < 3;i++)
{
for(j = 0;j < 5;j++)
{
System.out.print(str[i][j]+" ");
}
System.out.println();
}
}
}
第二种(通用方法) 该方法未完善好
import java.util.*;
public class Hello {
public static void main(String args[]){
String str[][] = new String[3][5];
int i,j;
System.out.println("Please input(n行,m列):");
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int m = s.nextInt();
//int m=5;
//int n=3;
for(i = 0;i<n;i++)
for(j=0;j<m;j++)
{
str[i][j]="";
}
str[0][m/2] = "1";
for(i = 1;i < n;i++)
{
for(j = 0;j<m;j++)
{
str[i][j]=str[i-1][j];
}
str[i][m/2-i] = "1";
str[i][m/2+i] = "1";
str[i][m/2] = "1";
}
for(i = 0;i < 3;i++)
{
for(j = 0;j < 5;j++)
{
System.out.print(str[i][j]+" ");
}
System.out.println();
}
}
}