用java编写一个杨辉三角
Java开发程序员该如何应对公司的笔试题?
Java开发程序员该如何应对公司的笔试题?
谢谢邀请!
虽然现在很多科技公司已经取消了主力程序员的面试题,但是不少公司并没有取消初级程序员的笔试题,因为笔试题能够考察出一个初级程序员的知识结构,对于项目经验比较少甚至是没有项目经验的初级程序员来说,笔试是公司考察一个初级程序员能力的基本依据。所以,很多笔试成绩是初级程序员进入下一个环节的重要基础。
对于初级程序员来说,笔试都考察什么知识呢?其实大部分笔试的考试内容都是非常基础的内容,比如Java初级程序员的笔试题往往就是考察对Java基础概念的理解是否清晰,是否掌握基本的语法,能否建立起面向对象的编程思维等等,看一个简单的题目:
这个程序在语法上有没有问题呢?这个题目考察的是Java程序员对“接口可以多扩展”这个概念的掌握,这个程序是没有语法问题的。再看一个例子:
这个例子输出的结果是多少呢?输出的结果是322,这个例子考察的是对集合概念的理解,尤其是对Set应用的理解。再看一个例子:
这个例子的运行结果是什么呢?答案是程序在运行中会抛出异常,这个例子考察的是对TreeSet概念的掌握。再看一个例子:
这个例子考察的是对内部类的理解,包括静态内部类,要想完成这个例子需要了解三方面知识,第一是内部类,第二是static内部类,第三是多态,这个程序是无法编译通过的,原因在于创建static内部类对象的过程不能采用基于外部类对象创建的方式。
通过以上四个例子我们会发现,其实这些题目并不复杂,但是却非常考验初级程序员对基础概念的掌握情况,如果对基础概念掌握的比较清晰就很容易能够完成,如果掌握的不够全面,那么这些看似简单的题目也无法完成。所以说,在参加笔试之前,一定要把这些基本的概念搞清楚。
最后给大家留一道题,看看你能不能回答出正确的答案(开启和不开启断言两种情况分别描述):
大家在评论区写出你的答案和理由吧。
我使用Java语言多年,我在头条上也写了关于学习Java的系列文章,想学习Java的朋友可以关注我,相信一定会有所收获。
如果有Java开发方面的问题,也可以咨询我。
谢谢!
杨辉三角的规律是什么?
杨辉三角的规律
每个数等于它上方两数之和。
每行数字左右对称,由1开始逐渐变大。
第n行的数字有n项。
前n行共[(1 n)n]/2 个数。
第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。
第n行的第m个数和第n-m 1个数相等 ,为组合数性质之一。
每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n 1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即 C(n 1,i)C(n,i) C(n,i-1)。
(a b)n的展开式中的各项系数依次对应杨辉三角的第(n 1)行中的每一项。
将第2n 1行第1个数,跟第2n 2行第3个数、第2n 3行第5个数……连成一线,这些数的和是第4n 1个斐波那契数;将第2n行第2个数(ngt1),跟第2n-1行第4个数、第2n-2行第6个数……这些数之和是第4n-2个斐波那契数。
将第n行的数字分别乘以10^(m-1),其中m为该数所在的列,再将各项相加的和为11^(n-1)。11^01,11^11x10^0 1×10^111,11^21×10^0 2x10^1 1x10^2121,11^31x10^0 3×10^1 3x10^2 1x10^31331,11^41x10^0 4x10^1 6x10^2 4x10^3 1x10^414641,11^51x10^0 5x10^1 10x10^2 10x10^3 5x10^4 1×10^5161051。
第n行数字的和为2^(n-1)。12^(1-1),1 12^(2-1),1 2 12^(3-1),1 3 3 12^(4-1),1 4 6 4 12^(5-1),1 5 10 10 5 12^(6-1)。
斜线上数字的和等于其向左(从左上方到右下方的斜线)或向右拐弯(从右上方到左下方的斜线),拐角上的数字。1 12,1 1 13,1 1 1 14,1 23,1 2 36,1 2 3 410,1 34,1 3 610,1 45。
将各行数字左对齐,其右上到左下对角线数字的和等于斐波那契数列的数字。1,1,1 12,2 13,1 3 15,3 4 18,1 6 5 113,4 10 6 121,1 10 15 7 134,5 20 21 8 155。