2016-10-14 111 views
0

我是Java新手,这是关于我必须为我的课所做的功课。我不知道这里有什么问题或如何解决。我很感激,如果有人能帮助我。错误:类型不匹配:无法从java.lang.String转换为int

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; 
    } 
} 

回答

0

该方法的返回类型是int,而您返回的是作为字符串的“message”。这导致编译器无法从字符串转换为int

0

你的方法返回INT,但返回的消息是字符串

公共静态INT getLodging(INT住宿,诠释时代)

字符串消息;

0

您需要更改getLodging方法如下

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

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

,你也必须调用主要这种方法来获得结果。

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 
} 
相关问题