Java语言:作页上的不解,答神们帮我看看。

【题目】要求编写一个方法,输出大于某个正整数n的最小的质数。
【问题】根据我以下代码思路,请问我所写的代码哪里不合理,最终的运行结果不太对,但我找不出原因,也不知道怎么改善。最好能按照我的思路,在我的源代码样貌上,麻烦答神们帮我指点出问题所在,这样我才能最清楚明白自己错在哪里。谢谢~
public class MethodCallWork02{
public static void main(String[]args){
System.out.print("请输入一个正整数:");
java.util.Scanner s= new java.util.Scanner(System.in);
int num=s.nextInt();
System.out.println("大于"+num+"的最小质数为:"+zhiShu(num));
}
public static int zhiShu(int n){
int i =0;
for (i=n+1;i>n;i++){
for (int j=2;j
if(i%j==0){
break;
}
return i;
}
}
return i;
}
}

因为你提供的代码不全,所以我只能在你的代码基础上修改了一下。修改如下:

public class MethodCallWork02{
public static void main(String[]args){
        System.out.print("请输入一个正整数:");
        java.util.Scanner s= new java.util.Scanner(System.in);
        int num=s.nextInt();
        System.out.println("大于"+num+"的最小质数为:"+zhiShu(num));
    }

    public static int zhiShu(int n){
        int i =0;
        int find=1; //寻找标志,用于标记是否找到下一个质数,1为找到,0为未找到,默认为找到,等待下面的判断重置find标志
        for (i=n+1;i>n;i++){  //从n的下一个数开始,直到寻找到下一个质数
            for (int j=2;j<i;j++) { //判断当前的数是否为质数
                if(i%j==0){ //如果不是质数,则标志置0,表示当前的数不是质数
                    find=0;
                    break;  //退出循环,开始判断下一个数
                    
                }
            }
            if(find==1) {  //如果当前数是质数,则返回当前数
                
                return i;
            }
            find=1;  //质数寻找标志置1,表示默认找到,等待判断下一个数来重置标志
        }
        
        return -1;// 用于匹配函数返回值,表示没找到
    }
}

img

public static int zhiShu(int n){
int i =0;
for (i=n+1;i>n;i++)
{
    for (int j=2;j<i;j++)
        if(i%j==0)
            break;
    if(j==i)
        return i;
}
}