本帖最后由 qq10372849 于 2011-03-19 14:24:06 编辑

解决方案 »

  1.   

    public class prime {    private int a;    public prime(int a) {
            this.a = a;
        }    int getnumber() {
            return a;
        }    int sub(int a) {
            this.a = a;
            int i = 0;
            while (a - i >= 0) {
                if (isPrime(a + i)) {
                    return a + i;
                }
                if (isPrime(a - i)) {
                    return a - i;
                }
                i++;
            }
            return a;    }    boolean isPrime(int num) {
            for (int i = 2; i <= Math.sqrt(num); i++) {
                if (num % i == 0) {
                    return false;
                }
            }
            return true;
        }    public static void main(String[] args) {        int y = 1;
            int e = 0;
            prime p = new prime(y);
            for (int i = 1; i < 100; i++) {
                e = p.sub(i);
                System.out.println("y= " + i + " e= " + e);
            }
        }
    }你这个有点乱啊我以最小改动原则来写了一个 不到符合要求不呵呵