В настоящее время у меня проблемы с «практикой», и я застрял в этом: «Предположим, вы пытаетесь написать программу, которая выдает следующие выходные данные с использованием циклов. Приведенная ниже программа представляет собой попытку решения , но содержит как минимум четыре основных ошибки. Определите и исправьте их все. 1 3 5 7 9 11 13 15 17 19 21 1 3 5 7 9 11 "
public class BadNews {
public static final int MAX_ODD = 21;
public static void writeOdds() {
// print each odd number
for (int count = 1; count <= (MAX_ODD - 2); count++) {
System.out.print(count + " ");
count = count + 2;
}
// print the last odd number
System.out.print(count + 2);
}
public static void main(String[] args) {
// write all odds up to 21
writeOdds();
// now, write all odds up to 11
MAX_ODD = 11;
writeOdds();
}
}
Я изменил код на:
public class BadNews {
public static final int MAX_ODD = 21;
public static void writeOdds() {
// print each odd number
for (int count = 1; count <= (MAX_ODD); count++) {
System.out.print(count + " ");
count = count +1; //tried to chacge count++ into count + 2 but it was a miss
}
}
public static void main(String[] args) {
// write all odds up to 21
writeOdds();
// now, write all odds up to 11
MAX_ODD = 11;
writeOdds();
}
}
Я думал, что последняя проблема заключалась в том, что final int MAX_ODD должен быть перемещен в main и заменен на «обычную» переменную (int MAX_ODD), но она закончилась ошибкой и комментарием «Ваше решение должно иметь класс константа. Константа должна быть объявлена как 'publi c stati c final' вне каких-либо методов в вашем классе. " Есть идеи как это решить?