java - 没有经验的 java 用户请求有关类的建议

标签 java class

我创建了一个发送单个数据报包的类,该数据包被另一个程序成功接收。

import java.net.*;

public class UDPServer {
    public static void main(final String args[]) throws Exception {
        final String sendID = "level1";
        final int val = 2;
        final DatagramSocket serverSocket = new DatagramSocket(7474);
        byte[] sendData = new byte[1024];
        final InetAddress IPAddress = InetAddress.getLocalHost();
        final String sentence = sendID + new String(" ")
                + new Integer(val).toString();
        final String capitalizedSentence = sentence.toUpperCase();
        sendData = capitalizedSentence.getBytes();
        final DatagramPacket sendPacket = new DatagramPacket(sendData,
                sendData.length, IPAddress, 7470);
        serverSocket.send(sendPacket);
    }
}

我的问题是如何从另一个代码运行此代码,为 sendIDval 传递变量。这最终会将信息从游戏发送到音频编程软件,以创建算法分数。

如果代码错误/格式错误,我深表歉意,我不是程序员!

谢谢。

最佳答案

只需创建一个带有两个参数的方法 Send

public class UDPServer {
    public void send(final String sendID, final int val) throws Exception {

            final DatagramSocket serverSocket = new DatagramSocket(7474);
            byte[] sendData = new byte[1024];
            final InetAddress IPAddress = InetAddress.getLocalHost();
            final String sentence = sendID + new String(" ")
                  + new Integer(val).toString();
            final String capitalizedSentence = sentence.toUpperCase();
            sendData = capitalizedSentence.getBytes();
            final DatagramPacket sendPacket = new DatagramPacket(sendData,
                  sendData.length, IPAddress, 7470);
            serverSocket.send(sendPacket);
     }
}

现在来自另一个类(class)

UDPServer server = new UDPServer();
server.send("level1", 2);

对您的代码的一些评论:

避免使用首字母大写的变量(即 IP 地址)。通常类以大写字母开头,而不是变量。

你可以简化:

byte[] sendData = new byte[1024];
sendData = capitalizedSentence.getBytes();

byte[] sendData = capitalizedSentence.getBytes();

final String sentence = sendID + new String(" ")
                  + new Integer(val).toString();

通过

final String sentence = String.format("%s %d", sendID, val);

关于java - 没有经验的 java 用户请求有关类的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16134442/

相关文章:

java - 仅当从 java 执行时,plpgsql 中的循环才会停止且没有错误消息

c++ - 在 C++ 中访问构造函数

java - 在 Java 中创建动态给定类的实例

c++ - const string 类成员的初始化列表

java - 关于java中的特殊字符

java - 如何在 JTable 行内自动换行

使用将在派生构造函数中构造的参数调用的 C++ 基本构造函数

Java,如何通过1个大类合并较小的类?

Java WebStart 版本更新

java - 在Java中替换字符串中的多个字符