gpt4 book ai didi

java - 努力将 main 方法连接到 java 类

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

这是我的一流客户

package hwch33;
import java.net.*;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

import java.io.*;


public class Client extends Application {
// IO streams
DataOutputStream toServer = null;
DataInputStream fromServer = null;

@Override // Override the start method in the Application class
public void start(Stage primaryStage) {
// Panel p to hold the label and text field
BorderPane paneForTextField = new BorderPane();
paneForTextField.setPadding(new Insets(5, 5, 5, 5));
paneForTextField.setStyle("-fx-border-color: green");
paneForTextField.setLeft(new Label("Enter a radius: "));

TextField tf = new TextField();
tf.setAlignment(Pos.BOTTOM_RIGHT);
paneForTextField.setCenter(tf);

BorderPane mainPane = new BorderPane();
// Text area to display contents
TextArea ta = new TextArea();
mainPane.setCenter(new ScrollPane(ta));
mainPane.setTop(paneForTextField);

// Create a scene and place it in the stage
Scene scene = new Scene(mainPane, 450, 200);
primaryStage.setTitle("Client"); // Set the stage title
primaryStage.setScene(scene); // Place the scene in the stage
primaryStage.show(); // Display the stage

tf.setOnAction(e -> {
try {
// Get the radius from the text field
double radius = Double.parseDouble(tf.getText().trim());

// Send the radius to the server
toServer.writeDouble(radius);
toServer.flush();

// Get area from the server
double area = fromServer.readDouble();

// Display to the text area
ta.appendText("Radius is " + radius + "\n");
ta.appendText("Area received from the server is "
+ area + '\n');
}
catch (IOException ex) {
System.err.println(ex);
}
});

try {
// Create a socket to connect to the server
Socket socket = new Socket("localhost", 8000);
//Socket socket = new Socket("130.254.204.36", 8000);
//Socket socket = new Socket("drake.Armstrong.edu", 8000);

// Create an input stream to receive data from the server
fromServer = new DataInputStream(socket.getInputStream());

// Create an output stream to send data to the server
toServer = new DataOutputStream(socket.getOutputStream());
}
catch (IOException ex) {
ta.appendText(ex.toString() + '\n');
}
}
}

这是我的二级服务器

 package hwch33;
import java.io.*;
import java.net.*;
import java.util.Date;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Scene;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextArea;
import javafx.stage.Stage;


public class Server extends Application {

/**
*
* @param primaryStage
*/
@Override
public void start(Stage primaryStage) {
// Text area for displaying contents
TextArea ta = new TextArea();

// Create a scene and place it in the stage
Scene scene = new Scene(new ScrollPane(ta), 450, 200);
primaryStage.setTitle("Server"); // Set the stage title
primaryStage.setScene(scene); // Place the scene in the stage
primaryStage.show(); // Display the stage

new Thread(() -> {
try {
// Create a server socket
ServerSocket serverSocket = new ServerSocket(8000);
Platform.runLater(() ->
ta.appendText("Server started at " + new Date() + '\n'));


Socket socket = serverSocket.accept();

DataInputStream inputFromClient = new DataInputStream(
socket.getInputStream());
DataOutputStream outputToClient = new DataOutputStream(
socket.getOutputStream());

while (true) {
double radius = inputFromClient.readDouble();
double area = radius * radius * Math.PI;
outputToClient.writeDouble(area);

Platform.runLater(() -> {
ta.appendText("Radius received from client: "
+ radius + '\n');
ta.appendText("Area is: " + area + '\n');
});
}
}
catch(IOException ex) {
ex.printStackTrace();
}
}).start();
}
}

这里是我需要添加代码才能使其正常工作的地方

 /*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package hwch33;





/**
*
* @author
*/
public class HWCH33 {

/**
* @param args the command line arguments
*/



public static void main(String[] args) {

}



}

不知道如何从这里构造一个 main 。我一直在尝试组建一个,但未能成功。我要么得到静态错误,要么根本不起作用。任何帮助表示赞赏。没有包括我之前的任何尝试,因为它们毫无用处,我把它们全部删除了。

最佳答案

如果错误是非静态变量与静态方法或类似的内容不兼容,只需从 public static void main(String[] args){} 中省略“static”一词即可。

关于java - 努力将 main 方法连接到 java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56068821/

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