题目:用java写一个程序,打印如下图形
*
**
***
****
*****
请思考三钞钟,写下你的程序,然后看答案。
我刚毕业时的答案:
package com.albertsong;
/**
*
* @author Albert
*
*/
public class PrintStar {
public static void main(String[] args) {
for(int i=0;i<5;i++){
for(int j=0;j<i+1;j++){
System.out.print("*");
}
System.out.println();
}
}
}
现在的答案:
package com.albertsong;
/**
*
* @author Albert
*
*/
public class PrintStar {
public static void main(String[] args) {
System.out.println("*\n**\n***\n****\n*****\n");
}
}
看到这里,同学们肯定有话要说了。
我也有话要说,我想说的是:“与人方便,自己方便”。
仅就这个题目而言,显然第二个程序要好得多,它实现了和第一个程序一样的功能。无论从代码行数,还是容易理解的程度,第一个程序都无法与之相比。
讨论1:
M:第一个程序更容易修改,扩展,适应性更强。如果要打印下面的图形,
*
**
***
...
*****...***(注:第100行有100个)
改第二个程序还不累死?
A:如果第二天客户要打印的是下面这个图形呢?
*
**
***
* **
*** *
M:变态!%^&*
A:没有变态的客户,只有懒惰的程序员。
讨论2:
1)
A:到目前为止,这样的图形最多有几行?
G:十行吧
A:随着贵公司的发展,有可能到一百行吗?
G:当然是希望越多越好,但按公司目前的情况,十年之内不太可能。
G:但我们有可能调整业务,那时图形可能会变。
A:变了的话应该还是有一定规律的吧
G:那当然,也不能胡乱调阿,结果基本上不是正三角形就是倒三角形,最多会变成菱形。
2)
A:需不需要能够打印一百行,或者一千行的?
G:不需要,这个图还是昨天拍脑袋出来的,先给我打出来看看效果
A:会不会有中间哪儿少个*号的情况
G:你先别管这么多,先把目前这个问题解决了,中间会不会少*号这会儿还不知道。
讨论3:
T:本来想招个学过Java for循环的程序员阿
A:我们下回是不是把题目改成“用java写一个程序,打印如下图形(请使用for循环)。
现在到底哪个程序好,应该比较清楚了吧。
“不要把简单的事情搞得N复杂”,这句话是针对结果,而不是针对过程的准则。
前几天在闲聊中写道:不要解决不存在的问题,我想更为准确的说法是:不要解决了不存在的问题。
路人甲:哦,懂了,但是,这和前面说到的“与人方便,自己方便”有什么关系?
A:没有一毛钱的关系,如果“认真分析需求,为客户着想”这种理念高尚得让你有点儿难受的话,不妨想想,这样做,实际上可以为自己省下看毛片的时间呀,对不?
分享到:
相关推荐
"把复杂的事情简单化"这一概念,正是在这个背景下应运而生,旨在通过简化思维方式,提高工作效率和问题解决能力。 首先,我们从简化思维开始说起。简化思维并非意味着忽视问题的复杂性,而是在充分理解问题的基础上...
杨钢的著作《第一次把事情做对》深刻阐述了追求零缺陷的重要性,并为读者提供了一套可行的管理理念和实践方法。该书不仅在理论层面上给予了深刻的洞见,而且通过真实的故事和案例,展示了零缺陷管理法在不同行业中的...
【创业精选佳句:事情都很简单,直到你把他变复杂】 创业是一条充满挑战与机遇的道路,许多成功的创业者分享他们的经验和智慧,提醒我们保持简洁和专注。这些佳句揭示了创业过程中的一些核心理念。 首先,David ...
谷歌前员工认为,谷歌在做简单事情上的复杂性是其落败的重要原因。 让我们先探讨一下何为“做简单事情的复杂性”。这并非字面上理解的复杂,而是指在一家企业规模变得庞大之后,其组织结构和工作流程都趋向复杂化。...
首先,我们来看看牛顿的观点:“简单的事情考虑得特别复杂,可以觉察新领域,把复杂的现象看得特别简单,可以觉察新规律。”这暗示了科学研究的方法,即通过深入分析看似简单的现象,揭示背后的复杂规律,而将复杂...
将用例分解为越来越小的单元,实际上会让问题变得更复杂,而非更简单。这样做的结果是无法清晰地展示系统的核心功能。正确的做法是将相关的功能合并成较大的用例,以体现对参与者的价值。例如,在图1中,所有的"功能...
### Hibernate中的NSQL与HQL增删改操作详解 #### NSQL(Native SQL)与HQL(Hibernate Query Language) 在Hibernate框架中,进行数据库操作时,开发者可以选择使用两种不同的查询语言:NSQL(Native SQL)和HQL...
员工管理和激励是一个复杂的事情.doc
图片下载使用,搞大事情专用图片下载使用吧,搞大事情专用图片下载使用吧
1. **模块化设计**:复杂系统通常通过模块化来管理,将大问题分解为小的、独立的、可管理的部分。每个模块都有明确的职责,通过接口与其他模块通信,降低了相互依赖性,增强了系统的可维护性和可扩展性。 2. **分层...
如何把事情做得漂亮项目主管入门 如何把事情做得漂亮项目主管入门
3. **小事与大事**:把简单的事情做到极致,是达到“最好”的关键。不应忽视任何细节,因为小事累积起来成就大事。每个人的努力汇聚成集体的力量,就能创造出惊人的成果。 4. **自我挑战与成长**:追求“最好”意味...
《把事情做到最好》这本书提供了一套关于如何高效做事的方案。书中的核心观点强调了个人的主动性、能力和自我反省的重要性。以下是从书中的不同篇章提炼出的关键知识点: 1. **善做事**: 善做事意味着利用自己的...
1. **风谲云诡**:这个成语源自风云的变幻不定,用来比喻局势的复杂多变和难以预测,常用于描述政治或社会环境的不稳定。 2. **亡羊歧路**:比喻因选择的岔路太多,导致迷失方向,常用来警示人们在面对复杂情况时要...
所谓的简单与复杂,并不在于案子的规模,而在于你看事情的角度。我们常常把清澈单纯的需求与满足,想得很复杂;却又把精致细腻的流程设计,想得太简单。一旦错估了简单与复杂的界线,做了不正确的价值判断,最后开发...
OPERATIONSRESEARCH运筹学怎样把事情做到最好(1).pptx
需求:有时候想去武大,华科等大牛学校听讲座,但总是会被每天手头上的事情搞得忘记这件可以拓宽眼界,本早就该做的事情。最好的解决方法是知道讲座的时间地点并把它计划成当天要做的事情。现在希望能有个产品能在...
通过这个人事部全体人员培训资料——OEC把简单的事情做得不简单,可以让我们的工作任务变得更加简单,完...该文档为人事部全体人员培训资料——OEC把简单的事情做得不简单,是一份很不错的参考资料,具有较高参考...
利用C(n,m)直接求解公式时,会出现爆int或者longlong的事情,所以杨辉三角便起到作用了,一维数组,空间时间复杂度均十分优秀。