▼Прихований текст
Панове професіонали, коли ви тільки вчили джаву, вами старші колеги теж так анально користувалися (вибачте, ні фаховими порадами, ні муштрою ці ваші відповіді назвати не можу — це просто еквівалент гомосексуалного статевого акту з метою закріплення свого місця в ієрархії)?
До новачка: слід копіювати текст помилки — це дозволить отримати відповідь швидко й по суті.
По суті:
1) Ключове слово static усередині джавівських функцій не використовується — лише безпосередньо всередині класів. На відміну від мови Сі, де можливі статичні змінні всередині функцій (що зберігаються протягом усієї роботи програми, а не створюються при кожному запуску функції). Треба або прибрати ключове слово static, або перемістити оголошення статичної змінної n за межі функції. Сама функція main, проте, є статичною, а тому нестатичних змінних свого класу не бачить — якщо змінну n оголосити в тілі класу як нестатичну, це теж призведе до помилки. Таким чином, має бути або static int n усередині тіла класу, або int n усередині тіла функції — ці варіанти в цій програмі працюватимуть без помилок. Різниця між ними лише в тому, що статична змінна n зберігатиме своє значення й після завершення функції (тому при повторному виклику функції там вже лежатиме не 3, а щось інше), а також буде доступною для інших функцій цього класу, тоді як локальна змінна n припиняє своє існування при завершенні функції й створюється заново при виклику. Оскільки в цій програмі, ймовірно, лише одна функція main, що викликається лише один раз, то вагомих причин для створення статичної змінної нема — до якихось видимих наслідків це не призведе, хіба що може створити незручності при переписуванні коду.
2) у джаві нема типу даних double float — є лише float та double. Слід використовувати один з них. Багатослівні назви типів (назразок short int) можливі в мові Сі, тоді як Java використовує лише однослівні назви примітивних типів.