日期:2014-05-20  浏览次数:20838 次

老师给了一条java复习题不会做,高分求救
帮我做这题啦,我明天就考了,这题肯定会考的.
救命啊!!!

设计方法boolean   prime(int   n),用来判断数n是否为素数,若为素数,返回true;若不是素数,返回false;若n <0,抛出ArgumentOutOfBound异常.

------解决方案--------------------
考。这么简单也不会。
------解决方案--------------------
boolean prime(int n){
if(n <0)
throw new ArgumentOutOfBound();
boolean re = true;
for(int i=2;i <=n/2;i++)
{
if(n%i==0){
re = false;
break;
}
}
return re;

}
------解决方案--------------------
//一个数n为素数,则在2-(根号n)之间,不存在任何一个非平凡因子
class ArgumentOutOfBoundException extends Exception
{
ArgumentOutOfBoundException()
{
System.out.println( "ArgumentOutOfBound! ");
}
}


class Sieve
{
static boolean prime(int n) throws ArgumentOutOfBoundException
{
boolean b=true;

if(n <0)
{
throw new ArgumentOutOfBoundException();

}
if(n> 0)
{
for(int i=2;i <=Math.sqrt(n);i++)
{
if((n%i)==0)
{
b=false;
break;
}
}

}

return b;
}

public static void main(String[] args)
{
try
{
System.out.print( "Please input a number as your wish: ");
int number=System.in.read();
boolean bl=prime(number);
System.out.println(bl);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
------解决方案--------------------
问一下,要是循环到(int)Math.sqrt(n),效率会高吗?
------解决方案--------------------
我倒,这种题还要问啊
------解决方案--------------------
LZ什么学校的?
------解决方案--------------------
该题最重要的学习点应该是自定义异常类处理。
都是过来人,如果lz是计算机专业的学生,多专专,积累知识对以后真的有好处。
------解决方案--------------------
求素数 是计算机初学的笔做题目
------解决方案--------------------
我是校长的话就叫你老师下岗 我学那会可能还没两天就能处理这些东西了
------解决方案--------------------
~~~
------解决方案--------------------
boolean isPrimeNumber(int n) {
if (n < 0) {
throw new ArgumentOutOfBound()
}
if (n < 3) {
return false;
}

int boundary = (int)Math.sqrt(n);
for (int i = 2; i <= boundary; i++) {
if ((n % i) == 0) {
return false;
}
}

return true;
}
------解决方案--------------------
..
------解决方案--------------------
太简单了吧
------解决方案--------------------
翻翻书都有的。。。
------解决方案--------------------
哈哈顶
------解决方案--------------------
楼主哪个学校的``?
------解决方案--------------------