I am having trouble trying to figure out how to work in my specific details into
ID: 3537780 • Letter: I
Question
I am having trouble trying to figure out how to work in my specific details into my program.
All of my methods works with just the candidate but I am trying to connect my candidate with specific details by using a class/ object. I thought that if I just created a method in the main program to do this I would be able to get it to work. So, it should be something like this
John Doe
Wisconsin
Republican
But, I will want to be able to remove, search and, display John Doe with all of his characteristics from my array and be able to add new candidates..I feel like my code is close....
import java.util.Scanner;
public class Assignment {
public static void main(String[] args){
new Assignment();
}
public Assignment(){
Scanner input = new Scanner(System.in);
String[] Candidate = new String[5];
System.out.println("select a number from the options below");
System.out.println("");
while(true){
System.out.println("1: Add an item");
System.out.println("2: Remove an item");
System.out.println("3: Search");
System.out.println("4: Display");
System.out.println("0: Exit .");
int userChoice = input.nextInt();
switch(userChoice){
case 1:
addItem(Candidate);
break;
case 2:
removeCandidate(Candidate);
break;
case 3:
searchCandidate(Candidate);
break;
case 4:
displayCandidate(Candidate);
break;
case 0:
System.out.println("Exiting");
System.exit(0);
}
}
}
private void addItem(String Candidate[]) {
Scanner input = new Scanner(System.in);
int flag = -1;
for(int i=0;i<Candidate.length;i++)
{ if(Candidate[i] == null){
flag= i;
break;}
}
if(flag == -1)
{System.out.println("You do not have room to add ");}
else
{ System.out.println("Who would you like to add");
Candidate[flag]=input.nextLine();
Candidate=CreateTraitArray();////////////HERE IS WHERE I THINK THAT I WANT TO ADD MY CODE IN>>>>
}
}//end of add
//create trait for array
public static String Candidate [] createTraitArray()///////AND HERE
{
Candidate[] traitArray= new Candidate[5];
for (int i=0;i<=Candidate.length;i++){
Candidate[i]=new Candidate();
Candidate trait = new Candidate();
System.out.println("Enter State");
String state= input.nextLine();
trait.setstate(state);
System.out.println("Democrat or Repuplican?");//enter as a string
String represent= input.nextLine();
trait.setRepresent(represent);
}
return Candidate;}
private void removeCandidate(String Candidate[]) {
Scanner input = new Scanner(System.in);
System.out.println("What index number in the array would you like to remove");
System.out.println(" ");
for (int i=input.nextInt();i<Candidate.length-1;i++)
{
Candidate[i]=Candidate[i+1];
System.out.println(i+" has been successfully deleted.");
System.out.println(" ");
System.out.println("Your list after the deletion");
System.out.println(" ");
for(i=0;i<Candidate.length;i++)
{System.out.println(Candidate[i]);
System.out.println(" ");}
}
}
private void searchCandidate(String Candidate[]) {
Scanner input = new Scanner(System.in);
System.out.println("What would you like to search for");
String search=input.nextLine();
boolean found=false;
for (int i=0;i<Candidate.length;i++)
{if (search.equals(Candidate[i]))
{System.out.println("I found your Candidate "+Candidate[i]+ " at index " +i);
found=true;
break;}
}
if(found)
{System.out.println("Therefore, I found your Candidate" );
System.out.println(" ");}
else
{System.out.println(search+ " does not exist in list");
System.out.println(" ");}
}//end of search
private void displayCandidate(String Candidate[]) {
int count=0;
boolean[] counted=new boolean[Candidate.length];
for(int i=0;i<Candidate.length;i++){
boolean isUnique = false;
if(!counted[i])
{isUnique=true;
count=1;
counted[i]=true;
for(int j=i+1;j<Candidate.length;j++)
{ if(Candidate[i]==(Candidate[j]))
{ count++;
counted[j]=true;}
}
}
if(isUnique)
{System.out.print("list " +Candidate[i]+" "+count);
/*System.out.println("Your Candidate consists of " +Candidate[i]+" "+count);
System.out.println(" ");
System.out.println("In State: " + trait.getstate() + " " +
"Party: " + trait.getRepresent() ;
System.out.println();}
}
}
CANDIDATE CLASS...................
public class Candidate {
private String state;
private String Represent;
public void setstate(String newstate)
{state=newstate;}
public void setRepresent(String newRepresent)
{Represent=Represent;}
public String getstate()
{
return state;
}
public String getRepresent()
{
return Represent;
}
}
Explanation / Answer
I think this is what you wanted.
Changes made by me
1) Remove createtraitarray()
2)Making Candidate and traitarray as golbal variable.
I checked just base cases and they were perfect.
If you think someone did hardwork for you, plz rate him with 5 stars
import java.util.Scanner;
class Candidate
{
String state;
String Represent;
public Candidate()
{
state=null;
Represent=null;
}
public void setstate(String newstate)
{
state=newstate;
}
public void setRepresent(String newRepresent)
{
Represent=newRepresent;
}
public String getstate()
{
return state;
}
public String getRepresent()
{
return Represent;
}
}
public class Mukesh
{
static int MAX_SIZE=5;
static Candidate[] traitArray= new Candidate[MAX_SIZE];
static String Candidate[]=new String[MAX_SIZE];
public static void main(String[] args)
{
new Mukesh();
}
public Mukesh()
{
Scanner input = new Scanner(System.in);
System.out.println("Select a number from the options below");
System.out.println("");
while(true){
System.out.println("1: Add an item");
System.out.println("2: Remove an item");
System.out.println("3: Search");
System.out.println("4: Display");
System.out.println("0: Exit .");
int userChoice = input.nextInt();
switch(userChoice){
case 1:
addItem(Candidate);
break;
case 2:
removeCandidate(Candidate);
break;
case 3:
searchCandidate(Candidate);
break;
case 4:
displayCandidate(Candidate);
break;
case 0:
System.out.println("Exiting");
System.exit(0);
}
}
}
private void addItem(String Candidate[]) {
Scanner input = new Scanner(System.in);
int flag = -1;
for(int i=0;i<Candidate.length;i++)
{ if(Candidate[i] == null){
flag= i;
break;}
}
if(flag == -1)
{System.out.println("You do not have room to add ");}
else
{
System.out.println("Who would you like to add");
Candidate[flag]=input.nextLine();
Candidate trait = new Candidate();
traitArray[flag]=new Candidate();
System.out.println("Enter State");
String state= input.nextLine();
trait.setstate(state);
System.out.println("Democrat or Repuplican?");//enter as a string
String represent= input.nextLine();
trait.setRepresent(represent);
traitArray[flag]=trait;
}
}//end of add
//create trait for array
private void removeCandidate(String Candidate[])
{
Scanner input = new Scanner(System.in);
System.out.println("What index number in the array would you like to remove");
System.out.println(" ");
for (int i=input.nextInt();i<Candidate.length-1;i++)
{
Candidate[i]=Candidate[i+1];
System.out.println(i+" has been successfully deleted.");
System.out.println(" ");
System.out.println("Your list after the deletion");
System.out.println(" ");
for(i=0;i<Candidate.length;i++)
{
System.out.println(Candidate[i]);
System.out.println(" ");}
}
}
private void searchCandidate(String Candidate[])
{
Scanner input = new Scanner(System.in);
System.out.println("What would you like to search for");
String search=input.nextLine();
boolean found=false;
for (int i=0;i<Candidate.length;i++)
{if (search.equals(Candidate[i]))
{System.out.println("I found your Candidate "+Candidate[i]+ " at index " +i);
found=true;
break;}
}
if(found)
{System.out.println("Therefore, I found your Candidate" );
System.out.println(" ");}
else
{System.out.println(search+ " does not exist in list");
System.out.println(" ");}
}//end of search
private void displayCandidate(String Candidate[])
{
int count=0;
boolean[] counted=new boolean[Candidate.length];
for(int i=0;i<Candidate.length;i++)
{
if(Candidate[i]==null)
{
break;
}
boolean isUnique = false;
if(!counted[i])
{
isUnique=true;
count=1;
counted[i]=true;
for(int j=i+1;j<Candidate.length;j++)
{
if(Candidate[i].equals((Candidate[j])))
{
count++;
counted[j]=true;
}
}
}
if(isUnique)
{
System.out.print("list " +Candidate[i]+" "+count);
System.out.println("Your Candidate consists of " +Candidate[i]+" "+count);
System.out.println(" ");
System.out.println("In State: " + traitArray[i].getstate() + " " +"Party: " + traitArray[i].getRepresent());
System.out.println();}
}
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.