老师给了一条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;
}
------解决方案--------------------..
------解决方案--------------------太简单了吧
------解决方案--------------------翻翻书都有的。。。
------解决方案--------------------哈哈顶
------解决方案--------------------楼主哪个学校的``?
------解决方案--------------------