将链表中负值的数量分配给 negativeCntr
Assign the negativeCntr with the number of negative values in the linked list
我在使用链表中负值的数量分配负数计数器 (negativeCnter) 时遇到问题。
老实说,我只是不确定如何处理整件事。
我需要输出来读取
底片数量:6(或任何可能的)
而不是我现在的
底片数量:0
谢谢。
// ===== 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 =====
解决方案是,
negativeCntr++;
这应该由 if(currObj->GetDataVal() < 0){ negativeCntr++; }
完成
Java的解决方案是
if(currObj.getDataVal() < 0)
{ negativeCntr++; }
我在使用链表中负值的数量分配负数计数器 (negativeCnter) 时遇到问题。
老实说,我只是不确定如何处理整件事。
我需要输出来读取
底片数量:6(或任何可能的) 而不是我现在的 底片数量:0
谢谢。
// ===== 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 =====
解决方案是,
negativeCntr++;
这应该由 if(currObj->GetDataVal() < 0){ negativeCntr++; }
Java的解决方案是
if(currObj.getDataVal() < 0)
{ negativeCntr++; }