0
点赞
收藏
分享

微信扫一扫

Java4Android自学记录(8-4):课后作业 - 打印任意行类似图形


1 目录及资源索引

  Java4Android自学过程目录及资源索引

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);
}
}

  编译测试一下上述代码,运行结果如下:

Java4Android自学记录(8-4):课后作业 - 打印任意行类似图形_字符串

  可以看到测试是成功的,下边就是把我们原来的代码结合到一块,进行一个替换。到这可能看我变量的名字 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");
}
}
}

  编译测试,结果如下:

Java4Android自学记录(8-4):课后作业 - 打印任意行类似图形_for循环_02

  可以看到,上述代码已经实现了我们想要的功能。

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");
}
}
}

  代码运行结果如下:

Java4Android自学记录(8-4):课后作业 - 打印任意行类似图形_字符串转换_03

  哈哈哈哈,大功告成,太开心啦!

4 总结


  1. 学会了java中,字符串到数字的转换;
  2. 学会了通过命令行,给主函数传参;
  3. 熟悉了对for循环的使用。
  4. 现在了解的还是不多呀,还需要继续努力~
  5. 最近疫情越来越严重了,大家照顾好自己。
  6. 也可以趁在家的这段时间,好好的养精蓄锐,提升内功,加油!


举报

相关推荐

0 条评论