Мне нужно изменить мою программу, чтобы я мог запускать ее более одного раза, если это необходимо. Мне нужно выйти из программы, если пользователь вводит Q или q, и если что-либо, кроме запрошенной записи (или команды quit), будет задано, вопрос будет повторен. Вот код, который я до сих пор:Добавление циклов в существующую java-программу?
import java.util.Scanner;
public class TemperatureLoop
{
private static Scanner keyboard = new Scanner(System.in);
public static void main(String[] args)
{
System.out.println("Enter a temperature in degrees (for example 32.6): ");
double temp;
temp = keyboard.nextDouble();
System.out.println("Enter 'F' (or 'f') for Fahrenheit or 'C' (or 'c') for Celsius: ");
String letter = keyboard.next();
double total = 0;
//if Farenheit then do this equation
if (letter.equals("F") || (letter.equals("f")))
{
total = ((temp-32)*5)/9; //convert the entered temperature to Celsius
System.out.println(temp + " degrees F = " + total + " degrees Celsius");
}
else //if Celsius then do this
if (letter.equals("C") || (letter.equals("c")))
{
total = (((temp*9))/5)+32; //convert the entered temperature to Farenheit
System.out.println(temp + " degrees C = " + total + " degrees Fahrenheit");
}
}
}
Итак, с циклом do-while это приведет к выходу/завершению программы в любое время, когда пользователь вводит «Q»? Я только что видел ваше редактирование, это было очень полезно спасибо. У меня был кто-то, пытающийся сказать мне, что мне нужно было вложить всю программу в «по крайней мере» три цикла, чтобы заставить его работать правильно, я не уверен, почему, если он может так хорошо работать. – Tony
@ Тони правильно, потому что если пользователь вводит 'Q' или' q', тогда программа будет игнорировать if-statements, и после того, как будет проверено условие цикла, цикл завершится, потому что 'letter' является значением, которое вызовет оценка для оценки на false –
По какой-то причине моя IDE (я использую Eclipse) говорит мне, что она не может разрешить букву переменной внутри условий while. Это проблема с моей IDE или я что-то пропустил? – Tony