Как заставить пользователя выбрать конкретный элемент с помощью ввода строки? - PullRequest
1 голос
/ 19 сентября 2019

Это для некоторой домашней работы, которую я имею в своем классе разработки Java, мы должны создать калькулятор формы, состоящий из квадрата, треугольника и круга, а также отображать радиус и окружность этой формы, когда пользователь вводит то, чтоформу, которую они хотят видеть.

Пока что у меня много проблем, в ответе на домашнее задание спрашивается: «Спросите пользователя, с какой формой он хотел бы работать».

Я не уверен, как реализовать функцию, в которой пользователь будет печатать фигуру, а java распознает, что набрано, и определенно нацелится на фигуру, набранную пользователем, и отобразит ее свойства, я бы предположил,он будет использовать оператор else?

Я уже понял, как отобразить строку, которая подсказывает пользователю, какую фигуру он хотел бы использовать, но я не могу узнать, как конкретно нацелить указанную форму и иметьон отображает его радиус и окружность.

package geometric;
import java.util.Scanner;

public class shapes {

    public static void main(String[] args) {
         Scanner scanner = new Scanner (System.in);
         String shapeSelect = "Which Shape: Square Circle or Triangle?";
         System.out.println(shapeSelect);
         String Circle;
         double circle;

         circle = scanner.nextDouble();
         System.out.println("enter the radius: ");
    }

}

Ответы [ 2 ]

2 голосов
/ 19 сентября 2019

Вы хотите получить тип фигуры, прежде чем они смогут ввести радиус, верно?

String input = scanner.nextLine();

должно появиться сразу после того, как вы напечатаете ваше сообщение shapeSelect.

После сохранения любой выбранной фигуры вы можете использовать операторы if else или switch, чтобы делать то, что нужно сделать для каждой фигуры, после этого вы можете просто передать сохраненные переменные в методы, которые вы используете для вычислениясвойства формы как параметры.

Ваш код должен выглядеть примерно так:

  public static void main(String[] args) {
         Scanner scanner = new Scanner (System.in);
         String shapeSelect = "Which Shape: Square Circle or Triangle?";

         System.out.println(shapeSelect); // what shape?
         String selectedShape = scanner.nextLine(); //waits for your input

         System.out.println("enter the radius: "); // what radius?
         double circleRadius = scanner.nextDouble(); //waits for your input

         if(selectedShape.contentEquals("circle")){
           //call circle methods
         } else if(selectedShape.contentEquals("triangle")){
           //call triangle methods
         }
    }

Рекомендуется также начинать имена переменных со строчной буквы.

Для условных выражений вы также можете использовать equalsIgnoreCase, если хотите сделать его без учета регистра.

0 голосов
/ 19 сентября 2019

Вы можете позволить пользователю ввести имя геометрической фигуры и затем оценить строку, возвращаемую сканером.

String userInput = scanner.nextLine();
if(userInput.equals("circle")){   // be aware that equals is case sensitive. Use .equalsIgnoreCase otherwise
    // print circle properties and ask for the radius
}else if(userInput.equals("square"){
    // ask the user for square parameters 
}
... and so on

Вы также можете предоставить пользователю полный список возможныхформы, чтобы он не печатал "шестиугольник", хотя вы предоставляете только "пятиугольник"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...