Member 13883989 Ответов: 2

Как заставить мою java - программу отображать тип фигуры, когда человек вводит либо 3, либо 4, либо 5? Выход продолжает говорить треугольник.


/**********************************************************************
* Программа: PRG/420 Неделя 2
* Цель: Назначение Кодирования На 2-Ю Неделю
* Программист: Брайан Джоэлл
* Класс: PRG/420
* Дата Создания: 22.06.18
*********************************************************************
*
**********************************************************************
* Краткое описание программы: эта программа демонстрирует эти основные концепции Java:
* - определение переменных различных типов
* - если-то и если-то-еще логика
* - построение строки для отображения на экране
* - логика переключения
*
* Чтобы выполнить это задание, вы добавите код там, где указано. То
* поведение вашего выполненного задания должно заключаться в принятии входных данных
* значение числа сторон двумерной фигуры. Основываясь на этом значении,
* ваш код должен отображать тип фигуры, соответствующий количеству углов многоугольника
* обозначено (3=Треугольник, 4=прямоугольник и т. д.)
*
* Вот конкретные требования:
*
* После того, как пользователь введет значение от 3 до 5 включительно (т. е. 3, 4 или 5):
*
* 1. Ваш код определяет, находится ли входное значение вне диапазона (меньше 3 или больше 5)
* и, если это так, выводит на экран осмысленное сообщение об ошибке и завершает работу программы.
*
* 2. потому что вы будете сравнивать одно выражение (входное значение) с несколькими константами (3, 4 и 5),
* ваш код должен использовать оператор switch для отображения на экране следующего сообщения:
*
* Если пользователь вводит 3, на экране должно появиться сообщение: "треугольник имеет 3 стороны."
* Если пользователь вводит 4, на экране должно появиться сообщение: "прямоугольник имеет 4 стороны."
* Если пользователь вводит 5, на экране должно появиться сообщение: "у Пентагона есть 5 сторон."
*
* 3. Будьте уверены, чтобы проверить вашу программу. Это означает запуск вашей программы несколько раз
* времена с тестовыми значениями 3, 4, 5, а также по крайней мере два значения, которые выходят за пределы этого диапазона
* (один ниже самого низкого и один выше самого высокого) и убедившись, что
* чтобы для каждого введенного значения отображалось правильное сообщение. Также убедиться
* что запуск вашей программы не вызывает никаких ошибок компилятора.
***********************************************************************/
пакет Week2Coding;

импорт java.util.Сканер;

публичный класс CodingAssignment_Week2 {
публичный статический пустота главный(строка[] аргументы) {

String userInputStringOfAngles; // объявляет переменную типа String для захвата пользовательского ввода
инт numberOfAngles; // объявляем переменную типа int для хранения преобразованных входных данных пользователя

Scanner myInputScannerInstance = новый сканер(System.in); // распознать клавиатуру
System.out.print("пожалуйста, введите целое число 3, 4 или 5, а затем нажмите Enter: "); // запрос пользователя
userInputStringOfAngles= myInputScannerInstance.next(); // захват пользовательского ввода в виде строки
numberOfAngles = Integer.parseInt(userInputStringOfAngles); // преобразование строки в число


int num = 3; // переменная num имеет значение 120
если( num < 5 ) { // так как 120-это не менее 50
// компилятор пропустит следующую строку и перейдет непосредственно к "else"
Системы.из.код println("" ); }
else { // поскольку 120 больше 50, будет выведена следующая строка кода.
Системы.из.код println("" );
}
int Num = 3; // объявляем numDayOfWeek и присваиваем ему 3, то есть третий день недели
Строки NumberOfAngles; // объявляем переменную типа String, чтобы провести день
switch (Num) { // проверьте значение переменной numDayOfWeek
случай 3: NumberOfAngles = "треугольник имеет 3 стороны."; // если numDayOfWeek равен 1, то это должен быть понедельник
перерыв;
случай 4: NumberOfAngles = "прямоугольник имеет 4 стороны."; // если numDayOfWeek равен 2, то это должен быть четверг
перерыв;
случай 5: NumberOfAngles = "пятиугольник имеет 5 сторон."; / / и т. д.
перерыв;

по умолчанию: NumberOfAngles = "ошибка! Пожалуйста, выберите целое число 3, 4 или 5.";
перерыв;
}
System.out.println(NumberOfAngles + ".");

}
}

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

я новичок на Яве. ходит на занятия. я много чего перепробовал.

2 Ответов

Рейтинг:
2

OriginalGriff

Что ж... посмотрите на код:

int Num = 3; // Declare numDayOfWeek and assign it 3, meaning the third day of the week
String NumberOfAngles; // Declare a variable of type String to hold the name of the day
switch (Num) { // Examine the value of numDayOfWeek variable
    case 3: NumberOfAngles = "A triangle has 3 sides."; // If numDayOfWeek is 1, then it must be Monday
    break;
    case 4: NumberOfAngles = "A rectangle has 4 sides."; // If numDayOfWeek is 2, then it must be Thursday
    break;
    case 5: NumberOfAngles = "A pentagon has 5 sides."; // etc.
    break;
    
    default: NumberOfAngles = "Error! Please select integer 3, 4, or 5.";
    break;
    }
С Num всегда есть три перед переключателем, он всегда будет сообщать треугольник!

Между тем, код, который вы написали, чтобы получить счетчик углов от пользователя, игнорируется...
userInputStringOfAngles= myInputScannerInstance.next(); // Capture user input as string
numberOfAngles = Integer.parseInt(userInputStringOfAngles); // Convert the string to a number

Очень тяжелый намек: что произойдет, если вы используете numberOfAngles В вашем switch заявление?


Рейтинг:
1

CPallini

Попробуй:

import java.util.Scanner;

public class Shapes
{
  public static void main(String[] args)
  {

    String userInputStringOfAngles; // Declare a variable of type String to capture user input
    int numberOfAngles; // Declare a variable of type int to hold the converted user input

    Scanner myInputScannerInstance = new Scanner(System.in); // Recognize the keyboard
    System.out.print("Please type the integer 3, 4, or 5 and then press Enter: "); // Prompt the user
    userInputStringOfAngles= myInputScannerInstance.next(); // Capture user input as string
    numberOfAngles = Integer.parseInt(userInputStringOfAngles); // Convert the string to a number

    if ( numberOfAngles < 3 || numberOfAngles > 5)
    {
      System.out.println("Error, invalid number of angles");
    }
    else
    {
      String output;

      switch (numberOfAngles)
      {
      case 3:
        output = "A triangle has 3 sides.";
        break;
      case 4:
        output = "A rectangle has 4 sides.";
        break;
      case 5:
        output = "A pentagon has 5 sides.";
      break;
      default:
        output = "I don't believe this!";
        break;
      }
      System.out.println(output);
    }
  }
}


Пожалуйста, обратите внимание:
  • Переключатель default предложение автоматически обрабатывает числа "вне диапазона".
  • Замечания, повторяющие то, что код (явно) делает, бесполезны.
  • Замечания, несинхронизированные с кодом,опасны.


Member 13883989

Спасибо. Он делает то, что таким образом. Однако я должен был использовать константу или использовать диапазон, чтобы применить к ней. Таким образом, целые числа. Есть ли способ по-прежнему использовать диапазон целых чисел, чтобы программа затем выбрала правильную форму?

CPallini

Я тебя не понимаю (3,4,5 являются константами).

Member 13883989

в моем исходном коде, прежде чем вы его исправили, if-else с int=3 и if( num < 5), может ли он все еще использоваться (исправляться) для получения правильных фигур? я видел, как вы это сделали, но я хотел посмотреть, можно ли использовать ... еще что-нибудь?

CPallini

Похоже, я пропустил ваше требование 1. Смотрите мой обновленный код.

Member 13883989

Мистер Паллини, спасибо вам за вашу помощь на днях. Не могли бы вы помочь мне еще раз? Я понятия не имею, как делать эти петли. У меня есть 3 задачи, которые мне нужно вывести. (Остальные комментарии-это инструкции для меня). Эти 3 задачи находятся рядом с первыми 3 звездочками. Не могли бы вы помочь мне еще раз, пожалуйста? Вот он:

* цикл for вложен в другой цикл for
* цикл while
* цикл do-while

*****************************************************************************************/

пакет prg420week3_codingassignment;

публичный класс PRG420Week3_CodingAssignment {

публичный статический пустота главный(строка[] аргументы) {

// Следующий код должен печатать звездочки: 1 в строке 1, 2 звездочки в строке 2,
// 3 в строке 3, 4 в строке 4... для такого количества строк, как переменные linesOfAsterisks.
// Для этого мы можем использовать 2 вложенных цикла for. Первый цикл for закодирован для вас.
// Вам нужно будет добавить еще один для lop, вложенный внутри первого, который печатает
// определенное количество звездочек, основанное на количестве раз, когда был выполнен код цикла.
// Результат должен выглядеть примерно так:
// *
// **
// ***
// ****
// *****
// прием.
int linesOfAsterisks = 5;
for (int i = 1; i <= linesOfAsterisks; i++) { // для каждой строки...

// Строка 1. ДОБАВЬТЕ ВЛОЖЕННЫЙ ЦИКЛ FOR, КОТОРЫЙ ОТОБРАЖАЕТ ОДНУ ЗВЕЗДОЧКУ В СТРОКЕ 1, ДВЕ ЗВЕЗДОЧКИ В СТРОКЕ 2, 3 ЗВЕЗДОЧКИ В СТРОКЕ 3 И Т. Д.

Системы.из.код println();
}

//////////////////////////////////////////////////////////////////////
// Добавьте цикл while или do-while, который отображает числа от 10 до 1 в таком порядке, например:
// 10
// 9
// 8
// 7
// ...
// 1
//////////////////////////////////////////////////////////////////////


int num=10;

//Строка 2. ДОБАВЬТЕ ЦИКЛ, КОТОРЫЙ ОТОБРАЖАЕТ ЧИСЛА ОТ 10 ДО 1 В ПОРЯДКЕ УБЫВАНИЯ (ПОДСКАЗКА: ОПЕРАТОР ДЕКРЕМЕНТА)



///////////////////////////////////////////////////////////////////////
// Напишите цикл, который добавляет 7s по одному за раз, пока сумма не станет > 157.
// Затем распечатайте как сумму, так и количество 7s, которые были объявлены.
// Напишите цикл while или do-while, в зависимости от того, что вы считаете наиболее подходящим.
//////////////////////////////////////////////////////////////////////////

int sum = 0;
int numberOfSevens = 0;

//Строка 3. Добавьте еще один цикл, который добавляет 7s до SUM > 157. ЗАТЕМ ОТОБРАЗИТЕ СУММУ И КОЛИЧЕСТВО ДОБАВЛЕННЫХ СЕМЕРОК.

}

Member 13883989

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