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

19.2.1: Linked list negative values counting. Assign negativeCntr with the numbe

ID: 3859439 • Letter: 1

Question

19.2.1: Linked list negative values counting.

Assign negativeCntr with the number of negative values in the linked list.

ZYBOOK CODE

// ===== Code from file IntNode.java =====
public class IntNode {
private int dataVal;
private IntNode nextNodePtr;

public IntNode(int dataInit, IntNode nextLoc) {
this.dataVal = dataInit;
this.nextNodePtr = nextLoc;
}

public IntNode(int dataInit) {
this.dataVal = dataInit;
this.nextNodePtr = null;
}

/* Insert node after this node.
* Before: this -- next
* After: this -- node -- next
*/
public void insertAfter(IntNode nodePtr) {
IntNode tmpNext;

tmpNext = this.nextNodePtr; // Remember next
this.nextNodePtr = nodePtr; // this -- node -- ?
nodePtr.nextNodePtr = tmpNext; // this -- node -- next
return;
}

// Grab location pointed by nextNodePtr
public IntNode getNext() {
return this.nextNodePtr;
}
public int getDataVal() {
return this.dataVal;
}
}
// ===== end =====

// ===== Code from file CustomLinkedList.java =====
import java.util.Random;

public class CustomLinkedList {
public static void main (String [] args) {
Random randGen = new Random();
IntNode headObj; // Create intNode objects
IntNode currObj;
IntNode lastObj;
int i = 0; // Loop index
int negativeCntr = 0;

headObj = new IntNode(-1); // Front of nodes list
lastObj = headObj;

for (i = 0; i < 10; ++i) { // Append 10 rand nums
int rand = randGen.nextInt(21) - 10;
currObj = new IntNode(rand);
lastObj.insertAfter(currObj); // Append curr
lastObj = currObj; // Curr is the new last item
}

currObj = headObj; // Print the list
while (currObj != null) {
System.out.print(currObj.getDataVal() + ", ");
currObj = currObj.getNext();
}
System.out.println("");

currObj = headObj; // Count number of negative numbers
while (currObj != null) {

/* Your solution goes here */

currObj = currObj.getNext();
}
System.out.println("Number of negatives: " + negativeCntr);

return;
}
}
// ===== end =====

Assign negativeCntr with the number of negative values in the linked list.

Explanation / Answer

Below is your code. I have highlighted(BOLD) the code which I added.

IntNode.java

//===== Code from file IntNode.java =====

public class IntNode {

private int dataVal;

private IntNode nextNodePtr;

public IntNode(int dataInit, IntNode nextLoc) {

this.dataVal = dataInit;

this.nextNodePtr = nextLoc;

}

public IntNode(int dataInit) {

this.dataVal = dataInit;

this.nextNodePtr = null;

}

/*

* Insert node after this node. Before: this -- next After: this -- node --

* next

*/

public void insertAfter(IntNode nodePtr) {

IntNode tmpNext;

tmpNext = this.nextNodePtr; // Remember next

this.nextNodePtr = nodePtr; // this -- node -- ?

nodePtr.nextNodePtr = tmpNext; // this -- node -- next

return;

}

// Grab location pointed by nextNodePtr

public IntNode getNext() {

return this.nextNodePtr;

}

public int getDataVal() {

return this.dataVal;

}

}

// ===== end =====

CustomLinkedList.java

//===== Code from file CustomLinkedList.java =====

import java.util.Random;

public class CustomLinkedList {

public static void main(String[] args) {

Random randGen = new Random();

IntNode headObj; // Create intNode objects

IntNode currObj;

IntNode lastObj;

int i = 0; // Loop index

int negativeCntr = 0;

headObj = new IntNode(-1); // Front of nodes list

lastObj = headObj;

for (i = 0; i < 10; ++i) { // Append 10 rand nums

int rand = randGen.nextInt(21) - 10;

currObj = new IntNode(rand);

lastObj.insertAfter(currObj); // Append curr

lastObj = currObj; // Curr is the new last item

}

currObj = headObj; // Print the list

while (currObj != null) {

System.out.print(currObj.getDataVal() + ", ");

currObj = currObj.getNext();

}

System.out.println("");

currObj = headObj; // Count number of negative numbers

while (currObj != null) {

if(currObj.getDataVal() < 0) {

negativeCntr++;

}

currObj = currObj.getNext();

}

System.out.println("Number of negatives: " + negativeCntr);

return;

}

}

// ===== end =====

Sample Output: -

-1, 1, 9, 1, 8, -3, -1, -6, -1, -2, 7,
Number of negatives: 6

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote