Я действительно новичок в Java, и у меня возникают проблемы с поиском того, что я сделал не так. Эта программа состоит в том, чтобы запросить суммы продаж, а затем получить среднее значение независимо от количества продаж, эта часть, кажется, работает нормально. Проблема, когда он запрашивает стоимость доставки, он принимает первый ввод, но независимо от того, отвечаете ли вы y или n, он заканчивается, и программа заканчивается, я просто упустил что-то действительно очевидное здесь? (также я попытался посмотреть, как другие люди сделали его более читабельным, и мне жаль, я не знаю, что я делаю, извините.)
попытался изменить его, но потом он просто допустил ошибки, я не знал, как решить себя, поскольку я новичок, и это моя первая попытка изучения Java, моя школа требует от нас использовать NetBeans (10.0 в моем случае)
import java.util.*;
public class JavaApplication3
{ //these ones are the attributes. private String Sales1,2,3;
public static boolean b_repeat = true;
private double Sales1;
private double Sales2;
private double Sales3;
//this is a constructor of 2 parameters for Cales class.
public JavaApplication3(double Sales1, double Sales2, double Sales3)
{
this.Sales1 = Sales1;
this.Sales2 = Sales2;
this.Sales3 = Sales3;
}
public static void main(String args[])
{
double avg = computeAverageSales();
System.out.println(" Average of Sales :" + avg);
if (avg > 200) {
System.out.println(" Product has produced a significant amount of revenue!");
}
double chr = computeShippingCharges();
System.out.println(" Total shipping charge :" + chr);
}
public static double computeAverageSales()
{
double avgSales, salesIn, total = 0;
int cnt = 0;
Scanner sc = new Scanner(System.in);
do {
System.out.println("Input Sales");
double sales = sc.nextDouble();
total = total + sales;
cnt++;
System.out.println("Would you like to keep adding Sales? (y/n)");
String repeatLoop = sc.next();
if (repeatLoop.toLowerCase().equals("n"))
b_repeat = false;
} while (b_repeat);
System.out.println(); //Space seperator
avgSales = total / cnt;
return (avgSales);
}
public static double computeShippingCharges()
{
double avgShipping, shippingIn, total = 0;
int cnt = 0;
Scanner sc = new Scanner(System.in);
do {
System.out.println("Input Shipping cost");
double shipping = sc.nextDouble();
total = total + shipping;
cnt++;
System.out.println("Would you like to keep adding Shipping costs? (y/n)");
String repeatLoop = sc.next();
if (repeatLoop.toLowerCase().equals("n"))
b_repeat = false;
} while (b_repeat);
System.out.println(); //Space seperator
avgShipping = total;
return (avgShipping);
}
public double getSales1()
{
return this.Sales1;
}
public void setSales1(double sales)
{
this.Sales1 = sales;
}
public double getSales2()
{
return this.Sales2;
}
public void setSales2(double sales)
{
this.Sales2 = sales;
}
public double getSales3()
{
return this.Sales3;
}
public void setSales3(double sales)
{
this.Sales3 = sales;
}
}
он должен принимать любое количество входных данных о продажах или доставке, но доставка будет разрешать только один ввод, независимо от того, что вы ответите на
System.out.println («Хотели бы вы продолжать добавлять стоимость доставки? (Да / нет)»);
с, так что это моя проблема