| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1159 人关注过本帖
标题:求助,一道面试题
只看楼主 加入收藏
天字第一耗
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-27
收藏
得分:0 

确实,不过倒是没有溢出,unicorn说的是对的, 只是计算了后两项和......


2006-11-27 22:45
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
哦,原来如此,是我错了

可惜不是你,陪我到最后
2006-11-27 22:50
天字第一耗
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-27
收藏
得分:0 
再请教下
public int sum(int a[],int n){
return n>0?sum(a,n-2)+sum(a,n-1):0;
}

改成这样以后,如果最后分号前面是0,结果是0,如果是其他任何大于0的整数a,结果则是最后两项的和*a,为什么呢?

2006-11-27 23:25
天字第一耗
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-27
收藏
得分:0 
也就是说即使前面n>0的值为true,最后的返回值也被乘了分号前面的表达式...

手头上能找到的资料中对?:这个运算符介绍的都比较少,茫然中...

2006-11-27 23:35
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

boolean ? expA:expB;


的意思也就是

当boolean是true的时候,执行expA,当boolean为false的时候执行expB,就样子的,也就相当 于一个 if else语句


if(boolean){
expA;
}else{

expB;
}


可惜不是你,陪我到最后
2006-11-28 09:25
天字第一耗
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-27
收藏
得分:0 

对啊,按说应该是这样的,但是我13楼那段,在n>0为false时能正确执行expB,但是在为true时,执行的结果是expA*expB...


2006-11-28 10:13
天字第一耗
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-27
收藏
得分:0 

就13楼那个例子,在n>0的时候,改变分号前面的数字,居然会得到不同的结果...而且规律就是倍数关系


2006-11-28 10:22
xuyijin
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2006-4-13
收藏
得分:0 

这个不是很简单吗?
public int sum(int a[],int n)
{
return n>0?(sum(a,n-1)+a[n-1]):0
}
这是一个三目运算符加一个简单的递归了
相当于:
if(n>0)
{
int sum=0;
if (n>0)
{

for(int i=0;i<n;i++)
{
sum=sum+a[i];
}
return sum;
}
else
{
return 0;
}
}


初学java,希望各位大虾多多指教!!
2006-11-28 12:03
开心一科
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2006-10-5
收藏
得分:0 

[此贴子已经被作者于2006-11-28 12:34:58编辑过]


2006-11-28 12:32
xuyijin
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2006-4-13
收藏
得分:0 

对了,少了一个")",谢谢"开心一科"改正.


初学java,希望各位大虾多多指教!!
2006-11-28 12:35
快速回复:求助,一道面试题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035342 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved