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

没有经验的java用户请求类的建议,java,class,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 serverS

我创建了一个类,它发送一个数据包,另一个程序成功地接收到这个数据包

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);
    }
}
我的问题是如何从另一个代码运行此代码,为
sendID
val
传递变量。这最终将把游戏中的信息发送到音频编程软件,以创建算法分数

抱歉,如果代码错误/格式不正确,我不是程序员


谢谢。

只需创建一个带有两个参数的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);
     }
}
现在是另一节课

UDPServer server = new UDPServer();
server.send("level1", 2);
对代码的评论很少:

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

您可以简化:

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


只需创建一个带有两个参数的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);
     }
}
现在是另一节课

UDPServer server = new UDPServer();
server.send("level1", 2);
对代码的评论很少:

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

您可以简化:

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


您尝试学习Java是件好事,但堆栈溢出并不是学习这些东西的最佳场所。这更像是一个问答网站,面向具体问题。你们的问题本质上是“我如何做面向对象编程?”。也许其他一些SO用户会在评论中建议好的Java教程站点,但我希望你会发现这个问题过于宽泛而无法解决。创建一个类似于:
publicstaticvoidsend(stringsendid,int-value)
的方法,并从其他类调用它,作为
UDPServer.send(“level1”,2)尝试学习Java是件好事,但堆栈溢出不是学习这些东西的最佳场所。这更像是一个问答网站,面向具体问题。你们的问题本质上是“我如何做面向对象编程?”。也许其他一些SO用户会在评论中建议好的Java教程站点,但我希望你会发现这个问题过于宽泛而无法解决。创建一个类似于:
publicstaticvoidsend(stringsendid,int-value)
的方法,并从其他类调用它,作为
UDPServer.send(“level1”,2)非常感谢,非常好用。我肯定要重新思考我的方法,但看到这个例子是如何运作的,我很确定我能解决它并继续前进。谢谢你提供的关于格式和简化的提示,更精简总是很好的!非常感谢,非常好用。我肯定要重新思考我的方法,但看到这个例子是如何运作的,我很确定我能解决它并继续前进。谢谢你提供的关于格式和简化的提示,更精简总是很好的!