Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

import java.util.Scanner; /** This class runs a campaign for Donald Duck. * * @a

ID: 3827314 • Letter: I

Question

import java.util.Scanner;

/** This class runs a campaign for Donald Duck.

*

* @author Deborah A. Trytten

*

*/

public class Election {

// These constants are used for a menu system

private static final int ADD_DONOR = 1;

private static final int DONATION = 2;

private static final int SUM_DONATIONS = 3;

private static final int SINGLE_DONOR_DETAILS = 4;

private static final int QUIT = 5;

public static void main(String[] args)

{

Campaign candidate = new Campaign("Donald Duck");

Scanner keyboard = new Scanner(System.in);

int menuChoice = 0;

while (menuChoice != QUIT)

{

menuChoice = menu(keyboard);

if (menuChoice == ADD_DONOR)

addDonor(keyboard, candidate);

else if (menuChoice == DONATION)

addDonation(keyboard, candidate);

else if (menuChoice == SUM_DONATIONS)

sumDonations(candidate);

else if (menuChoice == SINGLE_DONOR_DETAILS)

singleDonorDetails(keyboard, candidate);

else if (menuChoice == QUIT)

System.out.println("Goodbye");

else

System.out.println("Unanticipated case");

}

}

private static final int menu(Scanner keyboard)

{

System.out.println("Enter your choice below");

System.out.println(ADD_DONOR + ": add new donor");

System.out.println(DONATION + ": make donation");

System.out.println(SUM_DONATIONS + ": find total donations");

System.out.println(SINGLE_DONOR_DETAILS + ": single donor details");

System.out.println(QUIT + ": quit");

int value = keyboard.nextInt();

keyboard.nextLine();

if (value < ADD_DONOR || value > QUIT)

{

System.out.println(value + " is not in the legal range. Please

re-enter");

return menu(keyboard); // this is a cool trick called

recursion

}

else // it was legal

{

return value;

}

}

private static void addDonor(Scanner keyboard, Campaign candidate)

{

System.out.println("Enter the name of the donor");

String name = keyboard.nextLine();

candidate.addDonor(name);

}

private static void addDonation(Scanner keyboard, Campaign candidate)

{

//TODO Fill in this method

}

private static void sumDonations(Campaign candidate)

{

System.out.println(candidate.getCandidateName() + " has $" +

candidate.getAllDonations()

+ " of donations");

}

private static void singleDonorDetails(Scanner keyboard, Campaign

candidate)

{

//TODO Fill in this method

}

}

Explanation / Answer

As per the question, you need only two methods singleDonorDetails and addDonation.

import java.util.Scanner;
/** This class runs a campaign for Donald Duck.
*
* @author Deborah A. Trytten
*
*/
public class Election {
// These constants are used for a menu system
private static final int ADD_DONOR = 1;
private static final int DONATION = 2;
private static final int SUM_DONATIONS = 3;
private static final int SINGLE_DONOR_DETAILS = 4;
private static final int QUIT = 5;
public static void main(String[] args)
{
Campaign candidate = new Campaign("Donald Duck");
Scanner keyboard = new Scanner(System.in);
int menuChoice = 0;
while (menuChoice != QUIT)
{
menuChoice = menu(keyboard);
if (menuChoice == ADD_DONOR)
addDonor(keyboard, candidate);
else if (menuChoice == DONATION)
addDonation(keyboard, candidate);
else if (menuChoice == SUM_DONATIONS)
sumDonations(candidate);
else if (menuChoice == SINGLE_DONOR_DETAILS)
singleDonorDetails(keyboard, candidate);
else if (menuChoice == QUIT)
System.out.println("Goodbye");
else
System.out.println("Unanticipated case");
}
}
private static final int menu(Scanner keyboard)
{
System.out.println("Enter your choice below");
System.out.println(ADD_DONOR + ": add new donor");
System.out.println(DONATION + ": make donation");
System.out.println(SUM_DONATIONS + ": find total donations");
System.out.println(SINGLE_DONOR_DETAILS + ": single donor details");
System.out.println(QUIT + ": quit");
int value = keyboard.nextInt();
keyboard.nextLine();
if (value < ADD_DONOR || value > QUIT)
{
System.out.println(value + " is not in the legal range. Please re-enter");
return menu(keyboard); // this is a cool trick called recursion
}
else // it was legal
{
return value;
}
}
private static void addDonor(Scanner keyboard, Campaign candidate)
{
System.out.println("Enter the name of the donor");
String name = keyboard.nextLine();
candidate.addDonor(name);
}
private static void addDonation(Scanner keyboard, Campaign candidate)
{
System.out.println("Enter the name of the donor");
String name = keyboard.nextLine();
System.out.println("Enter the donation amount");
double amount = keyboard.nextDouble();

  
candidate.addDonation(name,amount);
}
private static void sumDonations(Campaign candidate)
{
System.out.println(candidate.getCandidateName() + " has $" + candidate.getAllDonations() + " of donations");
}
private static void singleDonorDetails(Scanner keyboard, Campaign candidate)
{
//TODO Fill in this method
System.out.println("Enter the name of the donor");
String name = keyboard.nextLine();
  
  
  
Sytem.out.println(candidate.getDonationList(name););

  
}


}