簡體   English   中英

錯誤:類型不匹配:無法從java.lang.String轉換為int

[英]Error: Type mismatch: cannot convert from java.lang.String to int

我是Java的新手,這是我在課堂上要做的家庭作業。 我不確定這里是什么問題或如何解決。 如果有人可以幫助我,我將不勝感激。

 import java.util.Scanner;

 public class TravelAgent
 {
    public static void main(String[] args)
    {
       Scanner input = new Scanner(System.in);
       System.out.print("Enter the amount per night");
       int lodging = input.nextInt();
       System.out.print("Enter your age");
       int age = input.nextInt();
    }

    public static int getLodging(int lodging, int age)
    {
       String message;

       if(lodging <= 30)
          message="campaign"; 
       else if(lodging <=45  && lodging > 30)
       {
          if(age <= 30)
              message="youth hotel";
          else if(age>30)
              message="adult hotel";
       }
       else if(lodging <=100 && lodging >45)
          message =  "hotel";
       else if(lodging <=200 && lodging >100)
          message="Grand hotel";
       else
          message="Exclusive suite";
      return message;
   }
}

該方法的返回類型為int,而您返回的是作為字符串的“消息”。 這導致編譯器無法從String轉換為int

您的方法返回int但返回的消息是String

public static int getLodging(int住宿,int age)

字符串信息;

您需要按以下方式更改getLodging方法

public static String getLodging(int lodging, int age)
{
    String message = null;

    if(lodging <= 30)
    .
    .
    .
    return message;
}

而且,您還必須在main中調用此方法以獲取結果。

public static void main(String[] args)
{
    // Get inputs lodging and age
    String result = getLodging(lodging, age);
    System.out.println("You're eligible for : "+result); // Print the result
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM