Я работаю над онлайн-обучением для Java и испытываю трудности с этой концепцией.
Это то, что я пытаюсь сделать. Я близок, но не уверен, что мне не хватает.
Создайте класс MetricConverter
с помощью следующих методов (каждый метод получает значение метрики и возвращает соответствующее стандартное значение):
Создайте приложение MetricConverterTest
, которое запускается из следующего меню:
КГ в фунты KM в мили
Итак, я близок, но класс MetricConverter
должен содержать только четыре статических метода - ничего больше.
Я могу разобраться в статических методах и возвратах ... но не в том, как отобразить возвращенный результат обратно. Что мне не хватает?
Класс MetricConverterTest
должен иметь основной метод, отображающий меню.
Это мой код:
import java.util.Scanner;
public class MetricConverter {
private static Scanner keyBd = new Scanner(System.in);
//method if 1 is selected
public static double menuOption1() {
double kg = keyBd.nextDouble();
double lbs = 2.20462*kg;
return lbs;
}
//method if 2 is selected
public static double menuOption2() {
System.out.println("Enter the amount of kilometers you wish to convert: ");
double km = keyBd.nextDouble();
double miles = 0.621371 *km;
return miles;
}
public static void main(String[] args) {
char selection;
do {
//displays the menu
System.out.println("\n\nMainMenu");
System.out.println("1. Convert KG to lbs");
System.out.println("2. Convert kilometers to miles");
System.out.println("3. Quit");
System.out.println("Selection: ");
//get a menu selection
selection = keyBd.next().charAt(0);
switch(selection) {
case '1': menuOption1(); break;
case '2': menuOption2(); break;
case '3': break;
default: System.out.println("Invalid selection!");
}//end switch
} while(selection != '3');
}//end main()
}
Прочтите задание. Он просит вас создать класс MetricConverter с методами два с именами kgToLbs и kmToMiles. В вашем классе есть 3 метода: menuOption1, menuOption2 и main. Вы не соблюдаете ни одну из инструкций в задании.
И вы распечатываете его так же, как распечатываете все остальное: устанавливаете его в переменную (что вы уже знаете, как это сделать) и распечатываете (что вы уже знаете, как это сделать). Непонятно, в чем конкретная проблема.
Вы можете распечатать результат каждого метода menuOption
public static double menuOption2() {
System.out.println("Enter the amount of kilometers you wish to convert: ");
double km = keyBd.nextDouble();
double miles = 0.621371 *km;
System.out.println(String.format("%s", miles));
return miles;
}
или из заявлений дела
switch(selection) {
case '1':
double result = menuOption1();
System.out.println(String.format("%s", result));
break;
case '2':
double result = menuOption2();
System.out.println(String.format("%s", result));
break;
case '3': break;
default: System.out.println("Invalid selection!");
}
Вы можете напечатать результат внутри de Switch, как это, также я добавил новую строку, которая запрашивает аргумент.
switch(selection) {
case '1': {
System.out.println("Fill Kgs to be converted");
System.out.println("Result of converting KG to Lbs is : " + menuOption1());
break;
}
case '2': {
System.out.println("Fill Kilometers to be converted");
System.out.println("Result of converting Kms to Miles is : " + menuOption2());
break;
}
case '3': break;
default: System.out.println("Invalid selection!");
}//end switch
case '1': System.out.println("Result "+menuOption1()); break;
case '2': System.out.println("Result "+menuOption2()); break;
case '3': break;
default: System.out.println("Invalid selection!");
Хотя это может ответить на вопрос авторов, в нем отсутствуют некоторые поясняющие слова и / или ссылки на документацию. Фрагменты исходного кода не очень полезны без некоторых фраз. Вы также можете найти как написать хороший ответ очень полезным. Измените свой ответ - Из обзора
Если я хорошо понимаю назначение, оно требует, чтобы вы создали класс Метрический преобразователь с двумя статическими методами в нем и отдельный класс MetricConverterTest с основным методом. Это означало бы, что вам нужно создать пакет для своих классов.
Что касается отображения результата, в вашем основном методе вы вызываете только те методы, которые возвращают тип double, но вы никоим образом не сохраняете и не отображаете их результат. Вам нужно использовать System.out.println( menuOptionX() );
или назначить вывод вашего метода переменной, подобной этой Double result = menuOptionX();
, и отображать его в любое время с помощью вышеупомянутого метода.
что происходит ? какая ошибка?