论坛首页 招聘求职论坛

笔试时遇到的难题

浏览 18866 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-08-10  
有一次我在一家公司面试,人家让我用尽量简短写法写个最大公约数,我写
[code='js']
function divisor(m,n){
return m%n==0?n:divisor(n,m%n);
}

结果对方完全看不懂。。。。。
0 请登录后投票
   发表时间:2009-08-10   最后修改:2009-08-10
全冠清 写道
有一次我在一家公司面试,人家让我用尽量简短写法写个最大公约数,我写
function divisor(m,n){
	return m%n==0?n:divisor(n,m%n);
}


0 请登录后投票
   发表时间:2009-08-10  
写个对泛型集合的迭代得了,呵呵
0 请登录后投票
   发表时间:2009-08-10  
抛出异常的爱 写道
yw404109794&
yxllove988 写道
抛出异常的爱 写道
mark_wang_9527 写道
System.out.println("Hello world")!
足以体现JAVA功底........
-.-~

class AAA {
	public static void main(String arg[]){
		int i = 010;//这里写的是8
		http://www.iteye.com	//这里是个joke		
			while(true){
		/*try{
			Thread.sleep(1000);
		   }catch(Exception e){
			e.printStackTrace();
			
		}*/				i = i > 0? i-- :  i++ ;//这里永远改变不了i值但看着像向0靠近	
				System.out.println(i);if(i==0)//这里藏了一个if用来break
				break http;//www.iteye.com//joke2				
			}
	}

}


抛出也有粗心的时候
i = i > 0? i-- :  i++ ;
这句逻辑错误;
whlie(true){
    i=i;
}

你们有资格面试我了

哪敢哪敢!有资格给前辈提鞋就不错了。。。既然I值永远不变。。那么那个if还有何用?
那个Http 的用法。。。确实不了解。。呵呵! 
0 请登录后投票
   发表时间:2009-08-10   最后修改:2009-08-10
谁给好好解释一下异常的代码?
class AAA {
	public static void main(String arg[]){
		int i = 010;
		http:	
		while(true){
			i = i > 0? i-- :  i++ ;//这里永远改变不了i值
			System.out.println(i);
            if(i==0)
			    break http;			
		}
	}

}

1. http: 是什么意思?
2. i = i > 0? i-- :  i++ ;  分析分析?
0 请登录后投票
   发表时间:2009-08-11  
goto式的标签,学过vb之类的人都知道,java其实也有


i = i > 0? i-- :  i++ ;
i == 0,所以, i = i++;
这个就很常见了。
tmp = i;
i++;
i = tmp;
++没有用。
0 请登录后投票
   发表时间:2009-08-11  
kimmking 写道
goto式的标签,学过vb之类的人都知道,java其实也有


i = i > 0? i-- :  i++ ;
i == 0,所以, i = i++;
这个就很常见了。
tmp = i;
i++;
i = tmp;
++没有用。


这里break http;的意思就是跳回到 http: 处执行吗?
0 请登录后投票
   发表时间:2009-08-11  
t414789324 写道
抛出异常的爱 写道
yw404109794&
yxllove988 写道
抛出异常的爱 写道
mark_wang_9527 写道
System.out.println("Hello world")!
足以体现JAVA功底........
-.-~

class AAA {
	public static void main(String arg[]){
		int i = 010;//这里写的是8
		http://www.iteye.com	//这里是个joke		
			while(true){
				i = i > 0? i-- :  i++ ;//这里永远改变不了i值但看着像向0靠近	
				System.out.println(i);if(i==0)//这里藏了一个if用来break
				break http;//www.iteye.com//joke2				
			}
	}

}


抛出也有粗心的时候
i = i > 0? i-- :  i++ ;
这句逻辑错误;
whlie(true){
    i=i;
}

你们有资格面试我了

看了半天没看明白这是什么。。。


需要复习J2SE或者c语法
0 请登录后投票
   发表时间:2009-08-11  
yenan354 写道
谁给好好解释一下异常的代码?
class AAA {
	public static void main(String arg[]){
		int i = 010;
		http:	
		while(true){
			i = i > 0? i-- :  i++ ;//这里永远改变不了i值
			System.out.println(i);
            if(i==0)
			    break http;			
		}
	}

}

1. http: 是什么意思?
2. i = i > 0? i-- :  i++ ;  分析分析?



我个人的理解:

1,其实就是JAVA中有这种语法,规定好的语法,没什么道理。
   就是在所有FOR WHILE 等语句前为这个循环创建一个标记 OOXX:for(;;){} 。就等于说给这个循环起了个名字。
然后在循环中continue 或者 break时后面可以加参数,参数就是前面创建的标记,指定下要break 或者continue的是哪个循环,如果不加参数则默认该条语句所在的循环。


http: for(;;){break http;} 等效于 for(;;){break;}




http:for(;;){
         for(;;){break http;}
      }

等效于
          boolean bl = false;
          for(;;){        
              for(;;){
                  bl = true;
                  break;                 
               }
               if(bl) break;
         }


2, i = i > 0? i-- :  i++ ;
   我觉得这句话的执行过程因该是这样的
   m = i>0?i-- : i++;  就是现计算 等号左边表达式的值,显然这里m的值是i。
   然后根据i>0真假 选择执行 i++ 或者 i--。
   最后执行 i=m;
  i永远不变。

我是这样理解的。
0 请登录后投票
   发表时间:2009-08-11  
class 类 加上 自信
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics