четверг, 14 августа 2014 г.

Non-static method cannot be referenced from a static context

Ошибка Non-static method cannot be referenced from a static context в java при компиляции программы возникает, когда мы в классе пытаемся вызвать нестатичный метод.

Пример программы с такой ошибкой:

import java.util.Scanner;
import java.util.Random;

class GuessGame {
    //Данный метод мы не объявили статичным
    private void printMessage(String message) {
        System.out.println(message);
    }
    
    public static void main(String[] args) {
        printMessage("Hello, I guessed number from 1 to 15. Try to guess it!");
        
        // Другой код...
    }
}

При компиляции данной программы вы увидите ошибку:
GuessGame.java:11: error: non-static method printMessage(String) cannot be referenced from a static context.

Чтобы этой ошибки не было, метод нужно сделать статичным:

// ...
//Делаем метод статичным, добавив "static"
private static void printMessage(String message) {
    System.out.println(message);
}

вторник, 12 августа 2014 г.

Программа hello world на java в Windows

В этом уроке мы рассмотрим создание программы типа hello world.

1. Создадим в директории C:\java файл Hello.java:
class Hello {
    public static void main(String args[]) {
        System.out.println("Hello, Java!");
    }
}

2. Откроем консоль cmd.exe и перейдем в директорию с нашим файлом. Скомпилируем созданный файл в байт-код при помощи команды:
javac Hello.java

3. Запустим скомпилированный файл в консоли при помощи команды:
java Hello


Возможные сложности

Программа может скомпилироваться корректно, однако при запуске вероятно возникновение ошибки: Exception in thread "main" java.lang.UnsupportedClassVersionError ... Unsupported major.minor version 52.0

Это может быть связано с тем, что у вас не совместимы версии компилятора и виртуальной машины.

Чтобы проверить, так ли это, выполните в консоли Windows команды:

  • версия компилятора: javac -version
  • версия виртуальной машины: java -version


Если версии у вас отличаются, то нужно скачать новую версию Java SE Development Kit и добавить в переменную Path операционной системы путь к папкам bin для интерпретатора и виртуальной машины, к примеру: C:\Program Files\Java\jdk1.8.0_11\bin;C:\Program Files\Java\jre8\bin;

вторник, 1 апреля 2014 г.

воскресенье, 20 октября 2013 г.

Вывод ступеньки из звездочек

Задача
Написать программу, которая выводит в консоли ступеньку из звездочек:
*
**
***
****
*****
******
*******

Игра: Угадай число от 1 до 1000

Задача
Напишите на java игру, в которой пользователя просят угадать число от 1 до 1000. Если пользователь называет число меньше загаданного, то выводится сообщение "Число слишком маленькое". Если пользователь называет число больше загаданного, то выводится сообщение "Число слишком большое". А если пользователь угадал загаданное число, то выводится поздравление об успехе, показывается загаданное число и общее число попыток угадывания.


Пролог

Java - отличный язык программирования, который получил широкое распространение при создании "серьезных" систем, таких как платежные системы. Знать этот язык - полезно. Но если вы новичок, который уже имеет опыт программирования на других языках, то лучше изучение языка строить на конкретных примерах. Как говорится, от кода к знанию.
Отправляемся навстречу Java!