Hallo, ich programmiere grade an meiner eigenen Programmiersprache und habe jetzt folgenden Fehler "
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot invoke get(int) on the primitive type int
at extra.AConvert.getRandomName(AConvert.java:49)
at commands.CMD_Server.waitForClients(CMD_Server.java:32)
at commands.Command.loadCommand(Command.java:26)
at file.AFile.read(AFile.java:29)
at main.Main.main(Main.java:13)
"
Falls jemand Lust und Zeit hat mir zu helfen würde mich das sehr freuen
Hier der Code vom kompletten Projekt bis jetzt:
CMD_Server.java
Command.java
main.al
Main.java des anderen Programms dieses Programm nimmt Verbindung mit dem Server auf und sendet Nachrichten
AServer.jar
AVariable.java
CMD_Print.java
AConvert.java
Main.java
AClient.java
Falls ich irgendeine relevante Klasse vergessen hab bitte schreibt mir es
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot invoke get(int) on the primitive type int
at extra.AConvert.getRandomName(AConvert.java:49)
at commands.CMD_Server.waitForClients(CMD_Server.java:32)
at commands.Command.loadCommand(Command.java:26)
at file.AFile.read(AFile.java:29)
at main.Main.main(Main.java:13)
"
Falls jemand Lust und Zeit hat mir zu helfen würde mich das sehr freuen
Hier der Code vom kompletten Projekt bis jetzt:
CMD_Server.java
Code:
package commands;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import extra.AConvert;
import extra.AServer;
import extra.AVariable;
public class CMD_Server {
public static void load(String line) {
if(line.startsWith("Server ")) {
String[] split = line.split(" ");
try {
ServerSocket server = new ServerSocket(AConvert.toInt(split[3]));
AServer a = new AServer(server);
AVariable.addServer(split[1], a);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void waitForClients(String server) {
boolean bool = true;
while(bool) {
try {
Socket c = AVariable.var_server.get(server).getServerSocket().accept();
System.out.println("Client found!");
AVariable.var_server.get(server).addClient(c,AConvert.getRandomName());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
Java:
package commands;
import java.util.Scanner;
import extra.AVariable;
public class Command {
public static void loadCommand(String line,Scanner sc1,Scanner sc2) {
if(line.equals("exit")) {
System.out.println("finished with 1");
System.exit(0);
} else if(line.startsWith("p")) {
CMD_Print.load(line);
} else if(line.startsWith("S")) {
CMD_Server.load(line);
} else {
int a = 0;
boolean bool = false;
while(a < AVariable.array_var_all.size()) {
if(line.startsWith(AVariable.array_var_all.get(a))) {
if(AVariable.array_var_all_meaning.get(a).equals("server")) {
if(line.startsWith(AVariable.array_var_all.get(a) + ".waitForClients")) {
CMD_Server.waitForClients(AVariable.array_var_all.get(a));
}
}
bool = true;
a = AVariable.array_var_all.size();
}
a ++;
}
if(bool == false) {
if(line.startsWith(" ")) {
loadCommand(line.substring(1), sc1, sc2);
} else {
System.out.println("<" + line + "> could not be found");
}
}
}
}
}
Code:
print >> Folgende Version läuft auf deinem System:
print >> version nl
print >> nl
Server s = 6555
s.waitForClients
Code:
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class Main {
public static void main(String[] args) {
try {
Socket s = new Socket("localhost",6555);
PrintWriter pw = new PrintWriter(s.getOutputStream());
pw.println("hduahdu");
pw.flush();
Socket s1 = new Socket("localhost",6555);
PrintWriter pw2= new PrintWriter(s1.getOutputStream());
pw2.println("hduahdu");
pw2.flush();
Socket s2 = new Socket("localhost",6555);
PrintWriter pw1 = new PrintWriter(s2.getOutputStream());
pw1.println("hduahdu");
pw1.flush();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Code:
package extra;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
public class AServer {
public ServerSocket s;
public ArrayList<String> clients_var_name = new ArrayList<String>();
public ArrayList<AClient> clients_var_meaning = new ArrayList<AClient>();
public AServer(ServerSocket server) {
s = server;
}
public ServerSocket getServerSocket() {
return s;
}
public void addClient(Socket c,String name) {
AClient a = new AClient(c);
clients_var_name.add(name);
clients_var_meaning.add(a);
printAllTimeStream();
}
public void printAllTimeStream() {
System.out.println("s");
int a = 0;
while(a < clients_var_name.size()) {
System.out.println("s");
clients_var_meaning.get(a).printIncomingMessages();
a ++;
}
}
}
Code:
package extra;
import java.net.ServerSocket;
import java.util.ArrayList;
import java.util.HashMap;
public class AVariable {
public static ArrayList<String> array_var_all = new ArrayList<String>();
public static ArrayList<String> array_var_all_meaning = new ArrayList<String>();
public static HashMap<String, String> var_all = new HashMap<>();
public static HashMap<String, AServer> var_server = new HashMap<String,AServer>();
public AVariable() {
var_all.put("version", "[Beta] 0.1");
}
public static String proofStringForVariable(String text) {
if(var_all.containsKey(text)) {
return var_all.get(text);
} else {
return text;
}
}
public static void addServer(String name,AServer server) {
if(var_server.containsKey(name)) {
System.out.println("Failed to add, finished with 0");
System.exit(0);
} else {
array_var_all.add(name);
array_var_all_meaning.add("server");
var_all.put(name, "server");
var_server.put(name, server);
}
}
}
Code:
package commands;
import extra.AVariable;
public class CMD_Print {
public static void load(String line) {
if(line.startsWith("print >> ")) {
if(line.substring(9).contains("nl")) {
System.out.println(AVariable.proofStringForVariable(line.substring(9).replace(" nl", "")));
} else {
System.out.print(AVariable.proofStringForVariable(line.substring(9)));
}
}
}
}
Code:
package extra;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;
public class AConvert {
public static ArrayList<String> a = new ArrayList<String>();
@SuppressWarnings("resource")
public static int toInt(String convert) {
File directory = new File(System.getenv("appdata") + File.separator + "config");
if(!directory.exists()) {
directory.mkdir();
}
File f = new File(directory.getPath().replace("\\", "//") + "//toInt.aconverthelper.tx0");
if(!f.exists()) {
try {
f.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
PrintWriter pw = new PrintWriter(f);
pw.println(convert);
pw.flush();
Scanner s = new Scanner(f);
return s.nextInt();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
public static String getRandomName() {
// 26
int a = 0;
int r;
String p = null;
while(a < 10) {
r = (int)(Math.random() * 26);
String ab = a.get(r);
p = p + ab;
a ++;
}
return p;
}
public static void addAlphabet() {
a.add("a");
a.add("b");
a.add("c");
a.add("d");
a.add("e");
a.add("f");
a.add("g");
a.add("h");
a.add("i");
a.add("j");
a.add("k");
a.add("l");
a.add("m");
a.add("n");
a.add("o");
a.add("p");
a.add("q");
a.add("r");
a.add("s");
a.add("t");
a.add("u");
a.add("v");
a.add("w");
a.add("x");
a.add("y");
a.add("z");
}
}
Code:
package main;
import java.io.File;
import extra.AVariable;
import file.AFile;
public class Main {
public static void main(String[] args) {
new AVariable();
File main = new File("main.al");
System.out.println(AFile.read(main));
}
}
Code:
package extra;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class AClient {
public Socket c;
public BufferedReader r;
public PrintWriter p;
public AClient(Socket client) {
c = client;
try {
r = new BufferedReader(new InputStreamReader(c.getInputStream()));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
p = new PrintWriter(c.getOutputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void printIncomingMessages() {
new Thread(new Runnable() {
@Override
public void run() {
String line;
boolean bool = true;
try {
while(bool) {
System.out.println("s1");
line = r.readLine();
if(!line.equals(null)) {
System.out.println(line);
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
}
}
Falls ich irgendeine relevante Klasse vergessen hab bitte schreibt mir es