1
import java.utils.Scanner; 

public class PD {
    public static void main(String[] args) { 

    System.out.print("Enter your number: " ); 
    int number = input.nextInt(); 
    System.out.println( DPPP(number) + "is double palidromic prime"); 

    }
    // main method checks every other method and returns a value that follows everything
    public static int DPPP( int number) {
        int count = 2;
            while (count < number) {
                String blank = "";
                String Snumber = count + blank; 
                if (isPalindromic(count) && isPrime(count) && 
                    isPalindromic(Snumber.length()) && isPrime(Snumber.length()))
                    return count;
                    count++;
            }
    }

    // method to find palindromic 
    public static boolean isPalindromic(int number) {
        String blank = ""; 
        String convert = count + blank; 
            for (int i = 0, int q = 1; i <= (convert.length()/2 - 1); i++, q++) { 
                if (convert.substring(i,q) == number.substring(number.length() - q, number.length() - i))
                    return true;
                else 
                    return false; 
        }
    }
    // method to find prime
    public static boolean isPrime(int number) {
        for (int divisor = 2; divisor <= number/2; divisor++) { 
            if (number % divisor == 0) { 
                return false; 
            }
        }
        return true; 
    }
}

エラー:

PD.java:28: <identifier> expected
for (int i = 0, int q = 1; i <= (convert.length()/2 - 1); i++, q++) { 
               ^
PD.java:28: not a statement
for (int i = 0, int q = 1; i <= (convert.length()/2 - 1); i++, q++) { 
                             ^
PD.java:28: ')' expected
for (int i = 0, int q = 1; i <= (convert.length()/2 - 1); i++, q++) { 
                                                        ^
PD.java:28: ';' expected
for (int i = 0, int q = 1; i <= (convert.length()/2 - 1); i++, q++) { 
                                                             ^
PD.java:28: ';' expected
for (int i = 0, int q = 1; i <= (convert.length()/2 - 1); i++, q++) {

; を配置するように求められる理由がわかりません。そして、それが声明ではないと言う理由

全体として、そのエラーが発生し、その理由がわかりません。お手伝いありがとう!私のプログラムが間違っている可能性があることはわかっていますが、このエラーの修正に集中したいと思っています。もう一度、あなたの助けと時間をありがとう。

4

4 に答える 4

2

問題は、1 つのステートメントに 2 つの型識別子があることにあるようです (例: int i, int j;)。同じステートメントを使用して 2 つの変数を宣言すると、暗黙的に同じ型が与えられるため、次のように変更する必要があります。

for (int i = 0, q = 1; i <= (convert.length()/2 - 1); i++, q++) {

別のオプションは、ループ内で i から q を計算することです。

for (int i = 0; i <= (convert.length()/2 - 1); i++) {
    int q = i+1;
    ...
}
于 2013-10-31T01:33:03.117 に答える
1

初期化子を次のように変更します。int i = 0, q = 1

于 2013-10-31T01:32:32.033 に答える
0

for ループについてコメントがあります。q は停止状態とは見なされないため、ループ内に配置する方が論理的だと思います。

ループを次のように変更しました。

int q = 1;
for (int i = 0; i <= (convert.length()/2 - 1); i++) {
    // code within the loop
    q++;
}

お役に立てば幸いです。

于 2013-10-31T01:36:56.070 に答える
0

これを試して

for (int i = 0,; i <= (convert.length()/2 - 1); i++) { 
    if (convert.substring(i,i + 1) == number.substring(number.length() - i + 1, number.length() - i))
于 2013-10-31T01:33:43.717 に答える