gpt4 book ai didi

java - 如何添加到链接列表中的特定号码?

转载 作者:太空宇宙 更新时间:2023-11-04 10:31:18 25 4
gpt4 key购买 nike

正在编写这个带有链表的 Java 网络程序。该程序添加与其联系的每个节点的详细信息,然后将其打印出来。在打印过程中,我希望每次都将 1 添加到 Infor 中,因为我将使用 for 循环打印详细信息 10 次。

这部分发生错误:

list.get(lastPostion).getInfor()+1; 

下面是我的代码。

public class Linked {

public static void main(String[] args) {
workPls oks = new workPls();
try {
DatagramSocket socket = new DatagramSocket(Integer.parseInt(args[0]));
socket.setSoTimeout(0);
while (true) {

byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
int data = 0;
PlsWork ok = new PlsWork(packet.getAddress(), "pc1", data);

oks.addNode(ok);
oks.print();
}
} catch (Exception error) {
error.printStackTrace();
}

}

}


public class PlsWork {

private InetAddress IP;
private String PC;
private int Infor;

public PlsWork(InetAddress IP, String PC, int Infor) {
this.IP = IP;
this.PC = PC;
this.Infor = Infor;
}

public InetAddress getIP() {
return IP;
}

public String getPC() {
return PC;
}

@Override
public String toString() {
return IP + " " + PC;
}

public int getInfor() {
return Infor;
}

}
public class workPls {

private LinkedList<PlsWork> list = new LinkedList<>();
private InetAddress ip;
private int lastPostion = 0;

public void addNode(PlsWork st) {
list.add(st);
}

public LinkedList getList() {
return list;
}

public void print() {

for (int i = 0; i > 10; i++) {
System.out.println(list);
System.out.println(list.get(lastPostion).getIP());
list.get(lastPostion).getInfor() + 1;
lastPostion+=1;
}

}

public InetAddress getip() {
return ip;
}
}

最佳答案

list.get(lastPostion).getInfor() + 1 添加两个 int 并对结果不执行任何操作。为了修改 PlsWork 实例的 Infor 实例变量,您必须调用另一个方法。

PlsWork 添加一个 void setInfor(int newValue) 方法并调用:

PlsWork current = list.get(lastPostion);
current.setInfor(current.getInfor() + 1);

或者向 PlsWork 添加一个 voidincrementInfor() 方法并调用:

list.get(lastPostion).incrementInfor();

另请注意,您的 for 循环中有一个不相关的拼写错误:

for (int i = 0; i > 10; i++)

应该是

for (int i = 0; i < 10; i++)

关于java - 如何添加到链接列表中的特定号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49974046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com