嘤嘤嘤,最近在学Java,边听视频边记笔记,老师出了一道Java题目(没看答案,自己琢磨的,粗糙出请担待),我粗略的知道自己能做,于是练习了一下,通过调试bug,修改好了程序,于是做下了记录,希望能帮助大家!
题目:打印杨辉三角形(行数可以键盘录入)
输出下面的形式:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
我下面进行题目的分析:
- 首先,观察输出的数字图形,知道行数和列数应该是相同的,所以题目才要求:键盘输入行数(而不是输入行数和列数)
- 接着,每一行的第一个元素和最后一个元素都是1
- 然后,每行中除却了第一个元素和最后一个元素外的其他元素的值是"肩上"的两个元素的和,即arr[2][1] = arr[1][0]+arr[1];
- 最后,注意到行数从2开始才会出现第三步的情况,且满足需要进行加法运算的元素的个数是i-1(i是当前所在的行的数值),所以可以用for循环嵌套使用
代码如下:
import java.util.Scanner;
class SwitchDemo
{public static void main(String[] args){Scanner sc = new Scanner(System.in);System.out.println("请输入行数:");int raw = sc.nextInt();System.out.println("-----------------------");int[][] arr = new int[raw][raw];for(int i = 0;i = 2 && i }
代码截图效果:
关键词:键盘录入、for循环嵌套使用、二维数组
写到最后,有兴趣一起学Java的伙伴加我微信W17663712231,烦请关注我的微信公众号"空谷小莜蓝"哦!,谢谢大家