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

  编译测试一下上述代码,运行结果如下:
在这里插入图片描述
  可以看到测试是成功的,下边就是把我们原来的代码结合到一块,进行一个替换。到这可能看我变量的名字 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 总结

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

猜你喜欢

转载自blog.csdn.net/Fighting_Boom/article/details/104225222
今日推荐