设置方法无效,而获取方法正常

时间:2018-10-27 13:02:27

标签: error-handling getter-setter setter

错误始终是恐龙无法转换为字符串类型    但是我很难理解为什么编译器会考虑尝试    通过第一种方法将dino转换为int或字符串

public static void Tyrannosaurus() 
{
    String DinoName = Name();
    Dinosaur Tyrannosaurus = new Dinosaur();
    Tyrannosaurus.name = DinoName;
    Tyrannosaurus = setDiet(Tyrannosaurus, DinoDiet[0]);
    Tyrannosaurus = setHP(Tyrannosaurus, 100);
    Tyrannosaurus = setDamage(Tyrannosaurus, 200);
    DaysLoop(DinoName);
    return;
}

这是上面的恐龙记录和霸王龙实例中使用的第一种吸气方法

public static String getName (Dinosaur dino)
{
     return Tyrannosaurus.name;
}
public static String getDiet (Dinosaur dino)
{
 return Tyrannosaurus.diet;
}
public static int getHP (Dinosaur dino)
{
     return dino.HP; 
}

public static int getDamage (Dinosaur dino)
{
     return dino.damage; 
}

无法使用的设置器方法是从这里完成的,我确实在其他Java设置器中看到人们正在使用此方法。但是我还没有完全掌握这个概念

public static String setDiet (Dinosaur dino, String TyranDiet)
{
    dino.diet = TyranDiet;
    return dino;
}
public static int setHP (Dinosaur dino, int TyranHP)
{
    dino.HP = TyranHP;
    return dino;
}
public static int setDamage (Dinosaur dino, int TyranDamage)
{
   dino.damage = TyranDamage;
   return dino; 
}

/////////////////////////////////

1 个答案:

答案 0 :(得分:0)

在以下方法中,您将dino作为字符串返回,并将dino作为int返回。

function curl($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
} 

if (isset($_GET['q'])) {
    $urlContents = curl("http://api.openweathermap.org/data/2.5/weather?q=".$_GET['q']."&type=accurate&units=metric&appid=4802fab0dfe2bf3e1f47e0882a5e93de"); // pre tahanie udajov potrebujeme vlastne app id ktore nam vygeneruje po registracii na stranke https://openweathermap.org/api

    $city = $_GET['q'];

    $weatherArray = json_decode($urlContents, true);

    $weather = $weatherArray['weather'][0]['description'];

    $temp = $weatherArray['main']['temp']; 

    $icon = $weatherArray['weather'][0]['icon'];

    $logo = "<img src='http://openweathermap.org/img/w/".$icon.".png'>";
}

这就是为什么它会弹出错误

基本上,二传手不会返回任何东西。删除返回并重新编写这样的代码

public static String setDiet (Dinosaur dino, String TyranDiet);
public static int setHP (Dinosaur dino, int TyranHP);
public static int setDamage (Dinosaur dino, int TyranDamage);