Ich bin zurzeit an einem Projekt für die Schule in dem ich nun von einer Server Klasse eine Zufallsnummer an eine Bildschirmausgabe übergeben möchte. Dieses Problem habe ich wie wir es in der Schule gelernt haben versucht mit einer get Methode zu lösen. In der Fehlermeldung möchte der Compiler diese Methode nun static machen, jedoch ist dies der falsche Weg. Aus folgenden drei Klassen (Server, Bildschirmausgabe, Frame) habe ich mal das wichtigste versucht rauszukopieren.
Code:
public class Server
{
private int port;
public int cocktailnummer;
private int x = 1;
public int nummer;
public int getNummer(){
return nummer;
}
private class EchoThread extends Thread{
private Socket socket;
public EchoThread(Socket socket){
this.socket = socket;
try (BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(),true)) {
//out.println("Server ist bereit ... ");
String input;
Random random = new Random();
nummer = random.nextInt(999999);
System.out.println("" + nummer);
out.println(String.valueOf(nummer));
while((input = in.readLine()) !=null){
System.out.println(input);
}
out.println("123");
System.out.println("Verbindung abgebaut");
socket.close();
//x = 0;
}catch (IOException e){
System.err.println(e);
}
}
}
}
Code:
mport javax.swing.JFrame;
import java.awt.Color;
import java.awt.Container;
import java.util.*;
public class Bildschirmausgabe extends JFrame
{
public Bildschirmausgabe(){
super("Bildschirmausgabe");
Server server = new Server(49566);
Frame frame = new Frame();
}
}
Code:
import javax.swing.JFrame;
import java.awt.Color;
import java.awt.Container;
import java.util.*;
public class Frame extends JFrame
{
private int nummer1;
public void nummer(){
nummer1 = Server.getNummer();
}