Как я могу получить метод в качестве возвращаемого значения? - PullRequest
0 голосов
/ 20 октября 2019

Моя домашняя работа заключается в том, что мой зверь "Краб" должен поворачиваться случайным образом. Мой случайно выбранный номер «n» должен быть триггером для разворота. Я новичок в программировании, извините.

Я пытался переключаться между логическим, int и void. Это никогда не работало.

import greenfoot.*; 

public class Crab extends Animal
{     
    public int zeahler; 
    public int n;* 

    public void act()
    {
       zeahler += zeahler; //zeahler wird hochgezählt
    }

    public boolean aendern()
    {
        n = Greenfoot.getRandomNumber(51);
        if(zeahler> n)  
        return turn(40);
    }

}

Я ожидаю, что краб повернется на 40 градусов, но я получаю ошибку: несовместимые типы: пустота не может быть преобразована в логическое значение

1 Ответ

1 голос
/ 20 октября 2019

Я думаю, ваш метод turn (int) должен возвращать void. Однако в вашем методе aendern () вы говорите ей возвращать void, пока он возвращает логическое значение. Отсюда эта ошибка: «void не может быть преобразован в логическое значение»

Вы можете попробовать это:


public boolean aendern()
    {   
        boolean test = false;
        n = Greenfoot.getRandomNumber(51);
        if(zeahler> n) { 
         turn(40);
         test = true;
        }
       return test ;
    }
...