2015-12-09 2 views
-3

Я немного новый, мало знаю о Java, и я пытаюсь понять, почему эта программа дает мне код ошибки. В частности, с основным. Я чувствую, что эта программа правильная, так почему же она дает мне эти ошибки, как вы исправляете такие ошибки?Класс ошибки Java, интерфейс или enum expected, main method

спасибо.

import java.io.IOException; 

class raisePower 

{ 

public static int power(int base, long pow) 

{ 

if(pow==2) 

{ 

return base*base; 

} 

else if(pow%2 != 0) 

{ 

return base*power(base*base, pow/2); 

} 

else 

{ 

return power(base*base, pow/2); 

} 

} 

} 

public static void main(String[] args) throws IOException 
     { 
     PowerCalc calc = new PowerCalc(); 
     long x = 3; 
     int y = 18; 
     long p = calc.power(base, pow); 
     System.out.println(base + " raised to the " + pow + "the power is " + p); 
     } // end main() 
    } // end class PowerApp 

ОШИБКА

3_1.java:39: error: class, interface, or enum expected 
public static void main(String[] args) throws IOException 
      ^
3_1.java:42: error: class, interface, or enum expected 
     long x = 3; 
    ^
3_1.java:43: error: class, interface, or enum expected 
     int y = 18; 
    ^
3_1.java:44: error: class, interface, or enum expected 
     long p = calc.power(base, pow); 
    ^
3_1.java:45: error: class, interface, or enum expected 
     System.out.println(base + " raised to the " + pow + "the power is " + p); 
    ^
3_1.java:46: error: class, interface, or enum expected 
     } // end main() 
    ^
6 errors 
+5

Ваш основной метод находится за пределами класса. Переместите его внутрь. Ваш код очень плохо форматируется, и *** THIS *** - именно то, для чего нужно хорошее форматирование - чтобы вы могли видеть, какой код принадлежит где. Исправьте это, пожалуйста. –

+1

Ответил как wiki сообщества - я не хочу повторять точки за этот ответ. –

+0

Спасибо за помощь, ребята. Не относитесь к своей работе слишком серьезно, это просто программирование. Все, что я попросил, это помощь. – COMPUTERNEWB

ответ

3

Ваш главный метод вне класса. Переместите его внутрь. Ваш код очень плохо форматируется, и ЭТО - это именно то, для чего нужно хорошее форматирование - чтобы вы могли видеть, какой код принадлежит где. Например, обратите внимание, что при хорошем форматировании это становится очевидным, так как конец строк кластера классов совпадает с объявлением класса, а главное - после него.

import java.io.IOException; 

class raisePower { 
    public static int power(int base, long pow) { 
     if(pow==2){ 
      return base*base; 
     } else if(pow%2 != 0) { 
      return base*power(base*base, pow/2); 
     } else { 
      return power(base*base, pow/2); 
     } 
    } 
} // this is the end of the class 

public static void main(String[] args) throws IOException { 
    PowerCalc calc = new PowerCalc(); 
    long x = 3; 
    int y = 18; 
    long p = calc.power(base, pow); 
    System.out.println(base + " raised to the " + pow + "the power is " + p); 
} 
} 

Так что удалите прокомментированную фигурную скобку.

Смежные вопросы