`
抛出异常的爱
  • 浏览: 620389 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

答复: 不用判断语句求俩数中的大(或者小)数

阅读更多
跳大神也是一种艺术:
public class MaxMin {
	static int max = 0 ;
	public static void main(String[] args) throws InterruptedException {
		MaxMin m = new MaxMin();
		int a = m.max(9, 10);
		System.out.println("最大:"+a);
		
	}
	public int max(int a , int b ) throws InterruptedException{
		new MyThread(a,this).start();
		new MyThread(b,this).start();
		Thread.sleep((a+b));	
		return this.max;
	}
}

class MyThread extends Thread{
	public int f = 0;
	public MaxMin max ;
	MyThread(int f , MaxMin max){
		this.f=f;
		this.max = max;
	}
	public void run() {
		try {sleep(f);} catch (Exception e) {}
		max.max = f;
	}
}
分享到:
评论
15 楼 zhanghh321 2011-06-08  
如果是两个负数怎么办呢?
14 楼 hezhou_0521 2010-11-12  
lyy3323 写道
幽默的例子。。。
我也来写写。。。
public class Check {
public static void main(String[] args) {
int a = 11;
int b = 10;
Check check = new Check();
check.say(a, b);

}

public void say(int a, int b) {

int[] arrA = new int[a];
try {
arrA[b] = a;
System.out.println("最大" + arrA[b]);
} catch (ArrayIndexOutOfBoundsException e) {
// TODO Auto-generated catch block
System.out.println("最大" + b);
}
}

}

似乎这个执行起来效率更高,不过都是介于牛A和牛B之间的写法。
13 楼 hezhou_0521 2010-11-12  
anderkey 写道
我水平不够,看得不太明白,抛兄你是不是利用线程的sleep()方法比较两个数的大小啊?两个数中大的那个线程休眠时间长,所以max最后被赋值为两数中的较大值啊?

他就是这个意思。
12 楼 lyy3323 2010-08-02  
幽默的例子。。。
我也来写写。。。
public class Check {
public static void main(String[] args) {
int a = 11;
int b = 10;
Check check = new Check();
check.say(a, b);

}

public void say(int a, int b) {

int[] arrA = new int[a];
try {
arrA[b] = a;
System.out.println("最大" + arrA[b]);
} catch (ArrayIndexOutOfBoundsException e) {
// TODO Auto-generated catch block
System.out.println("最大" + b);
}
}

}
11 楼 抛出异常的爱 2010-06-28  
a b 后面乘个1000来减少误差
10 楼 抛出异常的爱 2010-06-28  
等a+b时间之后
大的那个数总是被后赋值
9 楼 zxccombo 2010-06-21  
  老觉得这样有问题,比如2数差距比较小,new MyThread(a,this).start();执行时间比较长,可能sleep(a)已经开始休眠了,而sleep(b)还没创建出来,那最后结果始终是b为大,会有这样的问题么,求指教
8 楼 抛出异常的爱 2010-06-10  
化蝶自在飞 写道
用数组然后排序不是更简洁么?
当然如果要从算法的角度来考虑就另当别论了.

从跳大神的角度
7 楼 化蝶自在飞 2010-06-10  
用数组然后排序不是更简洁么?
当然如果要从算法的角度来考虑就另当别论了.
6 楼 zozoh 2010-06-02  
啊哈哈哈哈, 这文章幽默,收了 
5 楼 抛出异常的爱 2010-06-02  
wu_quanyin 写道
也可以用两个数创建数组,往里面加值,先抛异常的为最比较小的..

异常也是分支的一种.
4 楼 wu_quanyin 2010-06-02  
也可以用两个数创建数组,往里面加值,先抛异常的为最比较小的..
3 楼 lcllcl987 2010-06-01  
晕掉, 确实是介于牛A与牛C之间的方法
2 楼 抛出异常的爱 2010-05-31  
对啊
这 个没有用过boolean
1 楼 anderkey 2010-05-31  
我水平不够,看得不太明白,抛兄你是不是利用线程的sleep()方法比较两个数的大小啊?两个数中大的那个线程休眠时间长,所以max最后被赋值为两数中的较大值啊?

相关推荐

Global site tag (gtag.js) - Google Analytics