public class PalindromicPrime {
public static void main(String[] args){
int  = 1;

while( != 100){
for(int i =1;  != 100; i++){
if(isPlaindrome(i) && isPrime(i)){
System.out.println(i+"/t");
if( % 10 ==0)
System.out.println("/t");
++;
}
}
}
}


public static boolean isPlaindrome(int num){
int [] number = new int[20];
int num1 =num;

for(int i = 0;i<20;i++){
number[i] = 1;
}

if(num < 10) 
return true;
else {
int ;
for(int i=1;number[i-1]!=0;i++){
number[i-1] = num1 %10;
num = num /10;
}

int i =number.length;
number[i-1] = num1/(int)Math.pow(10, i);

for(int n=i,m=0;m<i/2;n--,m++){
if(number[m]  == number [n-1])
++;
}

if( == i/2) 
return true;


}

 boolean isPrime(int m){
 int  =0;
for(int i=1 ; i < m /2 ;i++){
if(m % i == 0 && i!= 1 && i!= m)
 =1;
}

if( !=1)
return true;
else 
return false;
}

}}
第三个方法总是提示定义错误,如:Syntax error on token "(", ; expected
这是什么原因造成的?

解决方案 »

  1.   

    问题不止一个, 主要是 括号位置不对,
    贴个正确的package fromnet;public class PalindromicPrime {
    public static void main(String[] args) {
    int  = 1; while ( != 100) {
    for (int i = 1;  != 100; i++) {
    if (isPlaindrome(i) && isPrime(i)) {
    System.out.println(i + "/t");
    if ( % 10 == 0)
    System.out.println("/t");
    ++;
    }
    }
    }
    } public static boolean isPlaindrome(int num) {
    int[] number = new int[20];
    int num1 = num; for (int i = 0; i < 20; i++) {
    number[i] = 1;
    } if (num < 10)
    return true;
    else {
    int  = 0;
    for (int i = 1; number[i - 1] != 0; i++) {
    number[i - 1] = num1 % 10;
    num = num / 10;
    } int i = number.length;
    number[i - 1] = num1 / (int) Math.pow(10, i); for (int n = i, m = 0; m < i / 2; n--, m++) {
    if (number[m] == number[n - 1])
    ++;
    } if ( == i / 2)
    return true;
    else
    return false;
    }
    } static boolean isPrime(int m) {
    int  = 0;
    for (int i = 1; i < m / 2; i++) {
    if (m % i == 0 && i != 1 && i != m)
     = 1;
    } if ( != 1)
    return true;
    else
    return false; }}