Member 13093372 Ответов: 2

Не могли бы вы помочь мне решить эту проблему плз


MenuHelper class

This class is designed to provide a useful method that can be used when implementing value and type safe input checking in your programs. You will need to see the MenuHelper class API for a list of methods that should be implemented. 

You should also create a main method in this class that can be used to test out your code. You should use the method created in this class to display three menus to the user to provide a choice for a meal (you should have three options) and two sides (each should have four options) and store the user selection. Make sure to format your menu text so it looks nice. 

After the user has made each of the three selections, you should print out their responses. Note, that it is not necessary to display the name of what was chosen, merely the number that was selected. Also, you should not hardcode any part of the message to be displayed into the method. Your method should just display whatever the message parameter is. 

An example of the output (user input shown in red) might look like this: 

Please choose a main course:
 1) Chicken
 2) Beef
 3) Pork
Please enter a selection 1 – 3: 2

Please choose a side:
 1) Baked Potato
 2) Soup
 3) Salad
 4) Vegetables
Please enter a selection 1 – 4: 4

Please choose a side:
 1) Baked Potato
 2) Soup
 3) Salad
 4) Vegetables
Please enter a selection 1 – 4: 1

You selected options 2, 4, 1 for your choices.



Methods:

Identifier:	displayMenu(String message, int min, int max)
Parameters:	message – The menu text that should be displayed
min – The minimum allowable menu option
max – The maximum allowable menu option
Return Value:	int – The choice selected by the user
Other:	This method should be static.

When this method is called, it will display the String parameter which is the menu text which should include the possible selections. This method should then prompt the user to make a selection and perform value and type-safe user input checking until a user has made a valid selection. If the user does not enter an int value, they should be told “Please enter a number between $min and $max” where $min and $max are the values of the parameters min and max. 


Что я уже пробовал:

я пытался, но он провалил тест...

CHill60

Вы пробовали что, и он провалил какой тест?

[no name]

Мы здесь не для того, чтобы делать за вас домашние задания.

Member 13036251

Скрыть Развернуть Скопировать Код
//***********************************************************************************************************************************************
// Purpose: когда этот метод вызывается, он отображает Строковый параметр, который является текстом меню, который должен включать в себя возможные варианты выбора.
// Этот метод должен затем предложить пользователю сделать выбор и выполнить проверку значений и типобезопасного пользовательского ввода до тех пор, пока пользователь не сделает
// допустимый выбор. Если пользователь не вводит значение int, ему следует сказать “ "пожалуйста, введите число от $min до $max", где
// $min и $max - это значения параметров min и max.
//***********************************************************************************************************************************************

import java.lang. Math; / / заголовки должны быть выше первого класса
импорт java.util.Сканер;
импорт java.io.*;

// Класс MenuHelperClass
публичный класс MenuHelperClass
{
публичный статический тип int displayMenu(строковое сообщение, интервал мин макс интервал)
{
int choice = 0;
Строковый ввод = null;
Строка ошибка = "";

а (выбор &ЛТ; мин || выбора &ГТ; Макс) {

Системы.из.код println(сообщение);
Scanner in = новый сканер(System.in);
выбор = в.nextInt();
ошибка = "пожалуйста, введите число между" + min + " и " + max;
Системы.из.печатать(ошибка);
}

выбор возврата;
}

// аргументы передаются с помощью текстового поля под этим редактором
публичный статический пустота главный(строка[] аргументы)
{
String [] [] menuArray = new String [] [] { {"Пожалуйста, выберите основное блюдо:\n 1) курица\n 2) говядина\n 3) свинина\n пожалуйста, сделайте выбор 1-3:", "1", "3"},
{"Пожалуйста, выберите сторону:\n 1) печеный картофель\n 2) Суп\n 3) Салат\n 4) Овощи, пожалуйста, сделайте выбор 1-4:", "1", "4"},
{"Пожалуйста, выберите сторону:\n 1) печеный картофель\n 2) Суп\n 3) Салат\n 4) Овощи, пожалуйста, сделайте выбор 1-4:", "1", "4"}};

int rows = 3;
int columns = 3;
String[] selections = новая строка[3];
int selectionIndex = 0;

for (int i = 0; i < rows; i++){
for (int j = 0; j & lt; columns; j++) {

String message = menuArray[i][j];
int min = Integer. parseInt(menuArray[i+1][j+1]);
int max = Integer. parseInt(menuArray[i+2][j+2]);
выход int = MenuHelperClass.displayMenu(сообщения, мин, не более);
selections[selectionIndex] = Integer. toString(output);
selectionIndex++;
перерыв;
}
Системы.из.код println( "\п" );
}

Строка selectedValues = "";
for (int z=0; z < 3; z++){
selectedValues += selections[z] + ", ";
}
Системы.из.код println("вы выбрали варианты "+ selectedValues +" на ваш выбор.");
}

}

Если бы вы могли понять часть readline, это должно сработать. Возможно, потребуется немного больше отладки.

2 Ответов

Рейтинг:
19

Patrice T

Мы не делаем вашу домашнюю работу.
Домашнее задание предназначено не для того, чтобы проверить ваши навыки просить других людей сделать вашу работу, оно предназначено для того, чтобы заставить вас думать и помочь вашему учителю проверить ваше понимание курсов, которые вы прошли, а также проблем, с которыми вы сталкиваетесь при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по их исправлению.
Итак, попробуйте, перечитайте свои уроки и приступайте к работе. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

Как программист, ваша задача-создавать алгоритмы это решает конкретные проблемы, и вы не можете полагаться на кого-то другого, чтобы вечно делать это за вас, поэтому есть время, когда вам придется научиться этому. И чем скорее, тем лучше.
Когда вы просто просите решение, это все равно что пытаться научиться водить машину, обучая кого-то другого.
Создание алгоритма-это в основном поиск математики и необходимая адаптация к вашей реальной задаче.

Идея "развития" заключается в том, что это слово предполагает: "систематическое использование научно-технических знаний для достижения конкретных целей или требований." BusinessDictionary.com[^]
Это не то же самое, что "быстро гуглите и сдавайтесь, если я не могу найти точно правильный код".


Рейтинг:
1

Member 13093372

У меня этого много сделано

package Questions;

import java.util.Scanner;

/**
 *
 * @author BA-Ll-ab
 */
public class MenuHelper {
    private String message;
    private int min;
    private int max;
    
      public static int displayMenu(String message, int min, int max) {

       int choice = 0;
       System.out.println(message);
       String error = "";
       while (choice < min || choice > max) {
           System.out.print(error);
           try {
               choice = Integer.parseInt(scanner.nextLine());
           } catch (NumberFormatException e) {
           }
           error = "Please enter a number between " + min + " and " + max;
       }

       return choice;
   }


    
    
    public static void main(String[] args) {
        
    }
}


Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.