一道外企Java笔试题!

ColaCoding 2008-02-12 04:30:18
加精
public static void change (int x, int y)
{
//要求:
//不借助第三方变量,将x,y两个变量的值互换。
}

正解:
public static void change (int x, int y)
{
x = x + y;
y = x - y;
x = x - y;
}
...全文
8531 355 打赏 收藏 转发到动态 举报
写回复
用AI写文章
355 条回复
切换为时间正序
请发表友善的回复…
发表回复
不二Se 2011-09-03
  • 打赏
  • 举报
回复
a = a ^ b;
b = a ^ b;
a = a ^ b; 这样可以不借助第三方变量
gypublic2007 2010-06-24
  • 打赏
  • 举报
回复

class change2{
public static void main(String[] args){
int a=26,b=32;
double x=a,y=b;
x = x/2 + y/2;
y = x - y/2;
x = x - y;
x = 2*x;
y = 2*y;
a=(int)x;
b=(int)y;
System.out.println("a=26,b=32,交换后a="+a+",b="+b);
}
}
gypublic2007 2010-06-24
  • 打赏
  • 举报
回复
class change2{
public static void main(String[] args){
int a=26,b=32;
double x=a,y=b;
x = x/2 + y/2;
y = x - y/2;
x = x - y;
x = 2*x;
y = 2*y;
a=(int)x;
b=(int)y;
System.out.println("a=26,b=32,交换后a="+a+",b="+b);
}
}
sin_alyw 2010-06-24
  • 打赏
  • 举报
回复
不错的题目,看来我老是把简单的东西给复杂化了
xun_2008 2010-06-24
  • 打赏
  • 举报
回复
好,题目出得好,so interesting!
yinxiaoqi 2010-06-23
  • 打赏
  • 举报
回复
呵呵 路过 顶下!
xxx_007 2010-06-22
  • 打赏
  • 举报
回复
感觉不错
xin520huan 2009-12-27
  • 打赏
  • 举报
回复
牛啊,学到不少知识……!!
dida1988 2009-12-26
  • 打赏
  • 举报
回复
在视频里看过哦
MashiMaro_001 2009-12-11
  • 打赏
  • 举报
回复
小学数学题
color_zy 2009-12-10
  • 打赏
  • 举报
回复
这个真的是有点转动脑筋的味道
myProMark 2009-12-06
  • 打赏
  • 举报
回复
Mark 9,bao110908
国产大和尚 2009-10-09
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 nk_smallbee 的回复:]
public      static      void      change      (int      x,      int      y) 

                        x      =      x/2      +      y/2; 
                        y      =      x      -      y/2; 
                        x      =      x      -      y;
                        x      =      2x
                        y      =      2y 
}

[/Quote]
不能整除不就完蛋了
ColaCoding 2008-11-05
  • 打赏
  • 举报
回复
看来大家对Java的热爱度还是有目共睹啊!
oleone 2008-09-30
  • 打赏
  • 举报
回复
使用 x = x + y;
y = x - y;
x = x - y; 的方法有可能溢出
应该使用
x = x ^ y;
y = x ^ y;
x = x ^ y; 的方法。
wlnh 2008-09-27
  • 打赏
  • 举报
回复
这题,实际是数学题,我当时面试也遇到过!
kahn178 2008-09-09
  • 打赏
  • 举报
回复
有意思?
andyzlzy 2008-09-09
  • 打赏
  • 举报
回复
好问题啊,能锻炼一下思维
dh20156 2008-09-09
  • 打赏
  • 举报
回复
public static void change (int x, int y)
{
x = [y,y=x][0];
}

不知道在Java里行不行,在JavaScript里是可以的。
璇之星 2008-09-09
  • 打赏
  • 举报
回复
如果x=4,y=5那么x==4/2+5/2=4;y=4-5/2=2;x=4-2=2;x=2*2=4;y=2*2=4;有点小错误!呵呵
public static void change (double x, double y)
{
x = x/2 + y/2;
y = x - y/2;
x = x - y;
x = 2x
y = 2y
}
加载更多回复(330)

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧