Я пишу программу для определения стоимости бензина с учетом цены за галлон и количества купленных галлонов, а также с учетом способа оплаты (наличными или в кредит).Чтобы прочитать способ оплаты, я определил строку с именем paymentMethod в качестве третьего аргумента, вводимого в командной строке, как показано ниже:
public class gas{
public static void main(String[] args){
double pricePerGallon=Double.parseDouble(args[0]);
double gallonsPurchased=Double.parseDouble(args[1]);
String paymentMethod=args[2];
String cash="cash";
String credit="credit";
if (pricePerGallon>0 && gallonsPurchased>0){
**if (paymentMethod==cash)**
{
System.out.println(pricePerGallon*gallonsPurchased);
}
else if (paymentMethod==credit)
{
System.out.println(1.1*pricePerGallon*gallonsPurchased);
}
}
else{
System.out.println("Error");
}
}
}
Я вижу, если третий аргумент (который является строкой)это строка «наличные», в этом случае стоимость газа рассчитывается и печатается.Если это кредит, взимается дополнительная комиссия в размере 10%.
Проблемы возникают с логическим значением "(paymentMethod == cash)".Моя программа компилируется, и я могу запустить ее, но когда я нажимаю Enter, ничего не возвращается.Даже не вычисление цены.