Прежде всего, спасибо всем, кто помогает.Во-вторых, пожалуйста, имейте в виду, что я новичок (как показано в моем коде, ха-ха).
Я просто пытаюсь заставить его выполнять проверку пользователя.Он должен проверять температуру воздуха, единицу измерения и скорость ветра.Независимо от того, что я печатаю, это говорит мне, что устройство недействительно.Я сделал что-то нехорошее с частью ввода с клавиатуры для чтения?
Это то, что выводит моя программа (пример пользовательского ввода выделен жирным шрифтом):
- Программа расчета Wind Chill.
- Введите температуру воздуха, за которой следует устройство.Например, 25 F для Фаренгейта или 25 C для Цельсия.
- Температура воздуха: 25 F
- Введите скорость ветра (в милях в час).
- Скорость ветра: 10
- Устройство недействительно.
- Wind Chill не рассчитывается: общее количество ошибок = 1
- Программа Wind Chill завершена.
- BUILD SUCCESSFUL (общее время: 53 секунды)
Кроме того, я еще не пробовал эту часть, но хочу сделать регистр нечувствительным к регистру.Я бы сделал это с помощью .toLowerCase () или .toUpperCase (), верно?Я просто хочу убедиться, что я иду в правильном направлении.
Ссылки ниже являются требованиями к назначению и образцом того, что программа должна делать.Вам не нужно смотреть на них, если вы не хотите (конечно), но я добавил их на тот случай, если я не буду хорошо объяснять себя.
- Подробные спецификации программы
- Скелет кода программных спецификаций
- Пример вывода программы
И вот что у меня естьдо сих пор:
import java.util.Scanner;
public class WindChill2
{
public static void main(String args[])
{
// Variables
Scanner keyboard = new Scanner(System.in);
double temp, // Temperature
windSpeed, // Speed of wind in miles per hour
windChill; // Wind chill factor
int errorCount = 0; // User entry errors
char unit;
// Input
System.out.println("Wind Chill calculation program.");
System.out.println("Enter the air temperature followed by the unit. "
+ "For example, 25 F for Fahrenheit or 25 C for "
+ "Celsius.");
System.out.print("Air temperature: ");
temp = keyboard.nextDouble(); // Store user entry in temp
unit = keyboard.next().charAt(0); // Store unit (C or F)
System.out.println("Enter the wind speed (in miles per hour).");
System.out.print("Wind speed: ");
windSpeed = keyboard.nextDouble(); // Store user entry in windSpeed
// Processing
if (temp < -40 || temp > 50) // Validate temperature
{
System.out.println("The air temperature is invalid.");
errorCount++;
}
if (unit != 'C' || unit != 'F') // Validate unit
{
System.out.println("The unit is invalid.");
errorCount++;
}
if (windSpeed < 0 || windSpeed > 50) // Validate wind speed
{
System.out.println("The wind speed is invalid.");
errorCount++;
}
if (errorCount > 0) // Error counter
{
System.out.println("Wind Chill not calculated: Total Errors = "
+ errorCount);
}
else // Calculate wind chill factor
{
windChill = 91.4 - (91.4 - temp) * (.478 + .301 *
Math.sqrt(windSpeed) - .02 * windSpeed);
System.out.print("The Wind Chill factor is ");
System.out.printf("%.1f\n", windChill);
}
System.out.println("Wind Chill program is completed.");
}
}