如何在链表中执行添加到特定号码?

奥宾纳

我正在用链表编写此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加两个ints,结果不执行任何操作。为了修改Infor实例的实例变量PlsWork,必须调用另一个方法。

向其中添加void setInfor(int newValue)方法PlsWork并调用:

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

或添加void incrementInfor()方法PlsWork并调用:

list.get(lastPostion).incrementInfor();

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

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

应该

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将链表添加到链表的特定节点上?

如何在没有头/尾指针的情况下将多个节点添加到C中的链表?

如何在添加到PATH的目录中运行可执行文件?

如何在命令执行之前自动将字符添加到用户输入中

如何在jQuery中的特定选项之后将“选项”添加到“选择”中?

将值添加到链表而不是特定值 - JAVA

如何在不使用for循环的情况下将数据从ByteArray添加到链表?

如何在PostgreSQL中将表添加到特定架构?

如何将具有给定索引的新元素添加到链表中?

如何将治疗功能添加到我自己的链表中

节点的地址在添加到链表中时会相互覆盖

将链表中的值添加到变量

如何忽略添加到Python列表中的特定元素

如何在不执行命令的情况下将命令添加到Bash历史记录中?

如何在Sphinx中添加到源代码的链接

如何在MySQL中将小计添加到表中?

如何在cordova中添加到settings.gradle

如何在HashMap中将元素添加到ArrayList中

如何在Terraform中添加到列表?

如何在Groovy中将元素添加到列表中?

如何在React中添加到状态数组

如何在PowerShell中添加到管道?

如何在 Python 中将兔子添加到数字中?

如何在gnuplot中将图例添加到圆中?

如何在16.04中“添加到面板”?

如何在Firebase中添加到列表?

如何在Automation Anywhere 10.5中添加到列表?

如何在Flutter中将ListView添加到列中?

如何在JMeter中修改/添加到Cookie?