#java #string
#java #строка
Вопрос:
Я новичок в 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 amp;amp; lodging > 30)
{
if(age <= 30)
message="youth hotel";
else if(age>30)
message="adult hotel";
}
else if(lodging <=100 amp;amp; lodging >45)
message = "hotel";
else if(lodging <=200 amp;amp; lodging >100)
message="Grand hotel";
else
message="Exclusive suite";
return message;
}
}
Ответ №1:
Возвращаемый тип метода — int, тогда как вы возвращаете «сообщение», которое представляет собой строку. Это приводит к тому, что компилятор завершает преобразование из String в int с ошибкой
Ответ №2:
Ваш метод возвращает значение int, но вы возвращаете сообщение, которое является строкой
общедоступный статический ввод данных (ввод данных, ввод возраста)
Строковое сообщение;
Ответ №3:
Вам необходимо изменить метод 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
}