Я пытаюсь создать программу, которая сообщит вам минимальное количество монет, необходимое для внесения изменений, и оно должно быть модульным. В настоящее время он запрашивает ввод три раза и печатает количество монет, необходимое для суммы всех трех вводов. Я полагаю, что это связано с тем, что maxDimes опирается на maxQuarters, который зависит от ввода. Можно ли как-нибудь запустить эти методы только один раз? Я новичок в программировании и на этом сайте, поэтому я прошу прощения, если этот вопрос неясен или уже задавался.
public static int input()
{
System.out.println("Please enter amount of change under 100 cents: ");
Scanner input = new Scanner(System.in);
int change = input.nextInt();
if (change%5<2)
{
change = change+(change%5);
}
else if(change%5>2)
{
change = change-(change%5);
}
return change;
}
public static int[] maxQuarters()
{
int change = input();
int quarters = change/25;
int leftover = change-quarters;
return new int[] {quarters, leftover};
}
public static int[] maxDimes()
{
int first[] = maxQuarters();
int change = first[1];
int dimes = change/10;
int leftover = change-dimes;
return new int[] {dimes, leftover};
}
public static int maxNickels()
{
int second[] = maxDimes();
int change = second[1];
int nickels = change/5;
return nickels;
}
public static void makeChange()
{
int first[] = maxQuarters();
int quarters = first[0];
int second[] = maxDimes();
int dimes = second[0];
int nickels = maxNickels();
System.out.println("The minimum number of coins you could use is: "+quarters+"quarters, "+dimes+" dimes and "+nickels+" nickels");
}
public static void main(String[] args)
{
makeChange();
}