Задать вопрос
@ZZiliST
Изучаю JS, CSS, HTML, PHP

Как работают функции в JAVA?

Здравствуйте уважаемые, ниже я приведу код на JavaScript, объясните пожалуйста, как выполнить тоже самое на JAVA.
JavaScript

var text = "Hello World";
function run(){
for(var i=0;i<10;i++) {
document.write(text);
}
}
run();


Я сделал кое какие наброски на JAVA, но видимо что-то путаю с синтаксисом

JAVA

class Rextester
{
public static void main(String[] args) {

String text = "JavaRush. Learn once — use anywhere";
run();
}

public static void run() {
for(int i = 0; i<10; i++ ){
System.out.println(text);
}
}
}



Или в JAVA функция всегда должна принимать какой-то аргумент?
  • Вопрос задан
  • 1592 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 2
longclaps
@longclaps
А если уж хочется иметь "глобальную" переменую text:
class Rextester {
    public static String text;

    public static void main(String[] args) {
        text = "JavaRush. Learn once — use anywhere";
        run();
    }

    public static void run() {
        for (int i = 0; i < 10; i++) {
            System.out.println(text);
        }
    }
}
Ответ написан
Рабочий код:
class Rextester
{
    public static void main(String[] args) {

        String text = "JavaRush. Learn once — use anywhere";
        run(text);
    }

    public static void run(String text) {
        for(int i = 0; i<10; i++ ){
            System.out.println(text);
        }
    }
}


Дело в том, что вы в функции run выводите переменную text, которой там не существует, вы должны ее передавать из другой функции или инициализировать в run.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
hudrogen
@hudrogen
Переменная text находится в области видимости(scope) метода main, метод run ее не видит. Метод run начнет видеть String text если переместить String text в scope класса - как поле класса. И так как этому полю идет обращение из статического метода то эта переменная должна быть статической, или обращаться к ней создав экземпляр класса Rextester
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы