您的位置:首页 > 其它

CSDN学生大本营的一道题

2010-03-28 10:52 323 查看
额,学生大本营首页突然上不去了。害我没来得及提交我的答案。

原题目没来得及copy下来。这里大概说下吧:

有一个rand()函数,返回0~1之间的随机数。现在给出 m 和 n (m n都是实数)

请编写函数返回m 和 n之间任意的数字。不能使用其他库函数(除了这里给的假定函数rand()).

我看了下题目。觉得蛮简单的。就写了下。。。。。当我想提交的时候。首页突然就挂了。。出现

502 BAD GATEWAY错误。。。。无奈,现在只好先放在这里咯。

---------------------------------------------------------------------------------------------------------------------------------

/* language="java"
* author: weiwei
* 2010-03-28 10:23
* 说明:此处,使用命令行参数。调试时候请用Math.random()方法。
* 这里按照老师要求为假象的rand()方法代替。
我用了正则表达式来确保输入的是数字。不知道有没有违反老师的规则呢?
*/

public class RandTest
{
public static float getRandNum(float m, float n)
{
float result = 0;

if (m > n)//m为大数
{
do
{
result = (float)(m * rand());
}while (result < n);//保证结果为n m之间
}
else //n为大数
{
do
{
result = (float)(n * rand());
}while (result < m);//保证结果为m n之间
}

return result;
}

public static void main(String[] args)
{
float m = 0;
float n = 0;

if (args[0].matches("^//d+.?//d+tiny_mce_markerquot;)

&& args[1].matches("^//d+.? //d+tiny_mce_markerquot;))//使用正则表达式确保输入的是数字
{
m = Float.parseFloat(args[0]);
n = Float.parseFloat(args[1]);
}
else
{
System.out.println("错误:输入的参数不是实数!") ;
System.exit(1);
}

System.out.println(RandTest.getRandNum(m, n));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: