JAVA help Need bolded lines fixed for it to compile Thank yo

JAVA help

Need bolded lines fixed for it to compile. Thank you!

public class PersonSort
{
// Test file. Format is \"STRING int int int\"
static final String PERSON_FILE = \".\\\\src\\\\Persons.txt\";

public static void main(String[] args) throws FileNotFoundException
{
// Create new ArrayList<Person> and populate from test file
ArrayList<Person> list1 = new ArrayList<Person>();
populate(list1);

// Create new array with same people
ArrayList<Person> list2 = new ArrayList<Person>(list1);

  insertionSort(list1);

// Print result of sort
System.out.println(\"INSERTION SORT\");
// *** foreach Person p in list1
{
System.out.println(p.toString());
}

selectionSort(list2);

System.out.println();
System.out.println(\"SELECTION SORT\");
// *** foreach Person p in list2
{
System.out.println(p.toString());
}

}

/*
* populate - this method reads the Persons.txt file and creates an array list
*
*/
public static ArrayList<Person> populate(ArrayList<Person> list)
throws IOException
{
// Scan in the file
File people = new File(PERSON_FILE);
Scanner ppl = new Scanner(people);

// While we have a next line, create a new Person and add it to the list
while (ppl.hasNextLine())
{
String name = ppl.next();
int month = ppl.nextInt();
int day = ppl.nextInt();
int year = ppl.nextInt();
list.add(new Person(name, month, day, year));

}

ppl.close();
return list;

}

/**
*
* Sorts an ArrayList based on the insertion sort algorithm. Modified code based
* on insertion sort from Sort.java in Lesson3SourceCode.
*
*/

// *** change double[] to ArrayList<Person>
public static void insertionSort (double[] list)
{

// Temporary variable for the next item to be inserted
// *** change double to Person
double valueToInsert;

int insertPos = 0;
// Iterate through the array taking each array element in turn
// as the next one to be inserted in its correct position.
// This element is placed in its correct position in the array of
// previously sorted elements contained in the lower array indices.
for (int i = 1; i < list.size(); i++)
{
// Hold the next element to be inserted,
// until we find the correct spot
valueToInsert = list.get(i);
insertPos = i;

// Find the correct place to insert this element
// in the lower array indices of already sorted elements
while ((insertPos > 0) && (list.get(insertPos - 1).compareTo(valueToInsert) > 0))
{
// Move elements up the array
// and insert position down
list.set(insertPos, list.get(insertPos - 1));
insertPos--;
}

// We are at the correct position, so insert the element
list.set(insertPos, valueToInsert);
}

}

/**
*
* Sorts an ArrayList based on the selection sort algorithm. Modified code based
* on selection sort from Sort.java in Lesson3SourceCode.
*
*/

// *** change double[] to ArrayList<Person>
public static void selectionSort (double[] list)
{
for (int i = 0; i < list.size(); i++)
{
// Find the minimum in the ArrayList through [i..list.length-1]
// *** change double to Person
double currentMin = list[i];
int currentMinIndex = i;
for (int j = i + 1; j < myList.size(); j++)
{
if (currentMin.compareTo(list.get(j)) > 0)
{
currentMin = list.get(j);
currentMinIndex = j;
}
}

// Swap myList at i with myList at currentMinIndex if necessary;
if (currentMinIndex != i)
{
list.set(currentMinIndex, list.get(i));
list.set(i, currentMin);
}

}

}

}

Solution

Hi, Please find my fixed code:

################

public class PersonSort
{
// Test file. Format is \"STRING int int int\"
static final String PERSON_FILE = \".\\\\src\\\\Persons.txt\";
public static void main(String[] args) throws FileNotFoundException
{
// Create new ArrayList<Person> and populate from test file
ArrayList<Person> list1 = new ArrayList<Person>();
populate(list1);

// Create new array with same people
ArrayList<Person> list2 = new ArrayList<Person>(list1);

insertionSort(list1);

// Print result of sort
System.out.println(\"INSERTION SORT\");
for(Person p : list1)
{
   System.out.println(p.toString());
}

selectionSort(list2);

System.out.println();
System.out.println(\"SELECTION SORT\");
for(Person p : list2)
{
System.out.println(p.toString());
}
}
/*
* populate - this method reads the Persons.txt file and creates an array list
*
*/
public static ArrayList<Person> populate(ArrayList<Person> list)
throws IOException
{
// Scan in the file
File people = new File(PERSON_FILE);
Scanner ppl = new Scanner(people);
// While we have a next line, create a new Person and add it to the list
while (ppl.hasNextLine())
{
String name = ppl.next();
int month = ppl.nextInt();
int day = ppl.nextInt();
int year = ppl.nextInt();
list.add(new Person(name, month, day, year));
}
ppl.close();
return list;
}

##########################

public static void insertionSort (ArrayList<Person> list)
{
// Temporary variable for the next item to be inserted
Person valueToInsert;
int insertPos = 0;
// Iterate through the array taking each array element in turn
// as the next one to be inserted in its correct position.
// This element is placed in its correct position in the array of
// previously sorted elements contained in the lower array indices.
for (int i = 1; i < list.size(); i++)
{
// Hold the next element to be inserted,
// until we find the correct spot
valueToInsert = list.get(i);
insertPos = i;
// Find the correct place to insert this element
// in the lower array indices of already sorted elements
while ((insertPos > 0) && (list.get(insertPos - 1).compareTo(valueToInsert) > 0))
{
// Move elements up the array
// and insert position down
list.set(insertPos, list.get(insertPos - 1));
insertPos--;
}

// We are at the correct position, so insert the element
list.set(insertPos, valueToInsert);
}
}

#####################


public static void selectionSort (ArrayList<Person> list)
{
for (int i = 0; i < list.size(); i++)
{
// Find the minimum in the ArrayList through [i..list.length-1]
Person currentMin = list[i];
int currentMinIndex = i;
for (int j = i + 1; j < list.size(); j++)
{
if (currentMin.compareTo(list.get(j)) > 0)
{
currentMin = list.get(j);
currentMinIndex = j;
}
}
// Swap list at i with list at currentMinIndex if necessary;
if (currentMinIndex != i)
{
list.set(currentMinIndex, list.get(i));
list.set(i, currentMin);
}
}
}
}

JAVA help Need bolded lines fixed for it to compile. Thank you! public class PersonSort { // Test file. Format is \
JAVA help Need bolded lines fixed for it to compile. Thank you! public class PersonSort { // Test file. Format is \
JAVA help Need bolded lines fixed for it to compile. Thank you! public class PersonSort { // Test file. Format is \
JAVA help Need bolded lines fixed for it to compile. Thank you! public class PersonSort { // Test file. Format is \
JAVA help Need bolded lines fixed for it to compile. Thank you! public class PersonSort { // Test file. Format is \

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site