1 目录及资源索引
2 题目要求
题目如下:如果要求大家编写一个程序,可以打印出任意行的与本题类似的图形,应该怎么做?
结合题目信息,简要分析一下,如果要打印出任意行的与本题类似的图形,就要输入参数了,这样才能变成可控的。
先写一个主函数的基本框架,发现传进去的参数貌似只能是字符串,但是我们需要一个数字,该怎么办?百度了一下,找了一下相关资料,链接如下:java中,String字符串转换为数字,代码如下:
class Test
{
public static void main(String args[])
{
// 程序语句
}
}
结合百度到的经验,先对传进来的参数进行转换,测试代码如下:
class Test
{
public static void main(String args[])
{
System.out.println(args[0]);
int row = Integer.parseInt(args[0]); // 字符串转换为数字
System.out.println(row);
}
}
编译测试一下上述代码,运行结果如下:
可以看到测试是成功的,下边就是把我们原来的代码结合到一块,进行一个替换。到这可能看我变量的名字 row 就明白了,代表的是行数,其实就是替换原代码中的总行数,原来是4行,现在全部替换为此变量,代码如下:
class Test
{
public static void main(String args[])
{
System.out.println(args[0]);
int row = Integer.parseInt(args[0]); // 转换为 int 类型
System.out.println(row);
for(int i = 1; i <= row; i++) // 外层for循环,替换总行数
{
for(int j = 0; j < (row - i); j++) // 内层for循环,打印空格,替换总行数
{
System.out.print(" ");
}
for(int j = 0; j < i; j++)
{
System.out.print("* ");
}
System.out.print("\n");
}
}
}
编译测试,结果如下:
可以看到,上述代码已经实现了我们想要的功能。
3 扩展练习
上节课的扩展练习,我们打印出来一个菱形,此处是否可以修改为,我要打印几行,就打印出来几行的菱形呢?注意,这个地方的行数跟显示出来的行数还是不一样的,之前我们算的行数,是第一行,到最长一行的行数。
参考上述代码,对行数进行部分修改,修改后的代码如下:
class Test
{
public static void main(String args[])
{
System.out.println(args[0]);
int row = Integer.parseInt(args[0]); // 字符串转换为数字
System.out.println(row);
for(int i = 1; i <= row; i++) // 上半部分菱形 用变量替换总行数
{
for(int j = 0; j < (row - i); j++)
{
System.out.print(" ");
}
for(int j = 0; j < i; j++)
{
System.out.print("* ");
}
System.out.print("\n");
}
for(int i = 1; i <= (row - 1); i++) // 下半部分菱形 用变量替换总行数
{
for(int j = 0; j < i; j++)
{
System.out.print(" ");
}
for(int j = 0; j < row - i; j++)
{
System.out.print("* ");
}
System.out.print("\n");
}
}
}
代码运行结果如下:
哈哈哈哈,大功告成,太开心啦!
4 总结
- 学会了java中,字符串到数字的转换;
- 学会了通过命令行,给主函数传参;
- 熟悉了对for循环的使用。
- 现在了解的还是不多呀,还需要继续努力~
- 最近疫情越来越严重了,大家照顾好自己。
- 也可以趁在家的这段时间,好好的养精蓄锐,提升内功,加油!