题目:用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. **分层...
如何把事情做得漂亮项目主管入门 如何把事情做得漂亮项目主管入门
【标题】:“20140707_第一次就把事情做对1”涉及的核心理念是提高企业运营效率,特别是供应链管理和产品质量控制。任正非在全球仓库大会上的讲话强调了以下几个关键点: 【1】全产品生命周期管理:企业应当追求在...
3. **小事与大事**:把简单的事情做到极致,是达到“最好”的关键。不应忽视任何细节,因为小事累积起来成就大事。每个人的努力汇聚成集体的力量,就能创造出惊人的成果。 4. **自我挑战与成长**:追求“最好”意味...
《把事情做到最好》这本书提供了一套关于如何高效做事的方案。书中的核心观点强调了个人的主动性、能力和自我反省的重要性。以下是从书中的不同篇章提炼出的关键知识点: 1. **善做事**: 善做事意味着利用自己的...
1. **风谲云诡**:这个成语源自风云的变幻不定,用来比喻局势的复杂多变和难以预测,常用于描述政治或社会环境的不稳定。 2. **亡羊歧路**:比喻因选择的岔路太多,导致迷失方向,常用来警示人们在面对复杂情况时要...
互联网资讯、互联网快报,互联网资讯、互联网快报,互联网资讯、互联网快报,互联网资讯、互联网快报,互联网资讯、互联网快报,互联网资讯、互联网快报,互联网资讯、互联网快报,互联网资讯、互联网快报,互联网...
所谓的简单与复杂,并不在于案子的规模,而在于你看事情的角度。我们常常把清澈单纯的需求与满足,想得很复杂;却又把精致细腻的流程设计,想得太简单。一旦错估了简单与复杂的界线,做了不正确的价值判断,最后开发...
OPERATIONSRESEARCH运筹学怎样把事情做到最好(1).pptx
需求:有时候想去武大,华科等大牛学校听讲座,但总是会被每天手头上的事情搞得忘记这件可以拓宽眼界,本早就该做的事情。最好的解决方法是知道讲座的时间地点并把它计划成当天要做的事情。现在希望能有个产品能在...
通过这个人事部全体人员培训资料——OEC把简单的事情做得不简单,可以让我们的工作任务变得更加简单,完...该文档为人事部全体人员培训资料——OEC把简单的事情做得不简单,是一份很不错的参考资料,具有较高参考...