переменная не может быть преобразована в переменную внутри цикла - PullRequest
0 голосов
/ 24 июня 2018

Я написал следующую Java, чтобы найти простые числа меньше 1000:

public class primes {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("2"); 
        int n=2;
        While (n<1000);
        {
            for(int d = 2; d<n; d++); //if d|n abort divisors loop and try next number
            {

                if (n%d == 0){ //if d|n try next number
                    n++;
                    break;
                }

                if (d>(n/2)){ //if there are no divisors up to n/2 n is prime, print n then try next number
                    System.out.println(n);
                    n++;
                    break;
                }
                d++; //try next divisor

            }           
        }
    }
    private static void While(boolean b) {
        // TODO Auto-generated method stub  
    }
}

Я получаю ошибки каждый раз, когда во внутреннем цикле вызывается d, которое не объявлено как переменная. Но я заявил в заявлении. Я прочитал несколько примеров, где вы можете сделать это. Что здесь не так, и как решить?

1 Ответ

0 голосов
/ 25 июня 2018

Вот ваш исправленный код (содержится в main (String [] args), а не в классе):

public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("2"); 
    int n=2;
    while (n<1000)
    {
        for(int d = 2; d<n; d++) //if d|n abort divisors loop and try next number
        {

            if (n%d == 0){ //if d|n try next number
                break;
            }

            if (d>(n/2)){ 
                //if there are no divisors up to n/2 n is prime, print n
                //then try next number
                System.out.println(n);
                n++;
                break;
            }

        }  
        n++;
    }
}

Однако вам необходимо выучить (или переучить) язык.Через некоторое время ты поставил меня в тупик своими СЕМИКОЛОНАМИ и для петель.Я также обнаружил еще много ошибок с кодом.Я считаю, что вы можете хорошо кодировать, но сначала вам нужно изучить основы Java.

...