我必須爲大學寫一個聊天應用程序作爲一個項目,不幸的是,我迷失在某處(btw。我是java編程的noob,所以提前對不起):javafx和數組列表
我正在讀取一個文件(Data.txt),並將所有的字符串放在兩個數組列表中(我的User類的靜態塊)。然後,在同一個類(用戶類),我有一個方法(checkUser),它控制登錄的輸入(所以數組列表的內容),但不幸的是它總是給我一個錯誤(只是一個系統.out.put我創建,以檢查它是否有效),我沒有看到原因..我試圖找出自己幾個小時了,但它不會工作,這就是爲什麼IM問你在Java的專業人士...正如我前面提到的,我是一個noob在Java ..!這裏有我的課:
主要類
package chatapplication;
public class Main extends Application {
private TextField tf = new TextField();
private PasswordField pf = new PasswordField();;
private Text textU = new Text("Username:");
private Text textP = new Text("Password:");
private Button login = new Button("Login");
private Button quit = new Button("Quit");
private Text register = new Text("Not registered yet?");
private Hyperlink hl = new Hyperlink("Chlick here!");
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
User<String> user = new User<String>();
Login log = new Login();
log.addNode(textU, 0, 0);
log.addNode(textP, 0, 1);
log.addNode(tf, 1, 0);
log.addNode(pf, 1, 1);
log.addNode(login, 0, 2);
log.addNode(quit, 1, 2);
log.addNode(register, 0, 3);
log.addNode(hl, 1, 3);
user.printArrayList();
login.setOnAction((ae) -> {
if ((user.checkUser(tf.getText(), pf.getText()) == 1)) {
System.out.println("Thanks " + tf.getText());
} else
System.out.println("Wrong inputs, try again!");
});
hl.setOnAction((ae) -> {
Register reg = new Register();
try {
reg.registerNow();
} catch (Exception e) {
e.printStackTrace();
}
});
quit.setOnAction((ae) -> {
user.copyFile();
user.closeFile();
System.exit(1);
});
}
}
User類
package chatapplication;
public class User<T> {
private static int u = 0;
private static int p = 0;
private static ArrayList<String> userList = new ArrayList<String>();
private static ArrayList<String> passwordList = new ArrayList<String>();
private static FileReader fr;
private static Scanner scanner;
private static Formatter fm;
private static File file;
static {
try {
fm = new Formatter("newData.txt");
file = new File("newData.txt");
fr = new FileReader("Data.txt");
scanner = new Scanner(fr);
while (scanner.hasNextLine()) {
userList.add(u++, scanner.nextLine());
passwordList.add(p++, scanner.nextLine());
}
System.out.println("\n" + userList.get(0) + "\n" + passwordList.get(0) + "\n");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public int checkUser(T username, T password) {
for (int c = 0; c < userList.size(); c++) {
if (userList.get(c) == username && passwordList.get(c) == password) {
return 1;
}
}
return 0;
}
public void addUser(String user, String password) {
userList.add(u++, user);
passwordList.add(p++, password);
}
public void closeFile() {
fm.close();
}
public void copyFile() {
for (int c = 0; c < userList.size(); c++) {
fm.format("%s\n", userList.get(c));
fm.format("%s\n", passwordList.get(c));
}
file.renameTo(new File("Data.txt"));
}
public void printArrayList() {
for (int c = 0; c < userList.size(); c++) {
System.out.println(userList.get(c));
System.out.println(passwordList.get(c));
}
}
預先感謝您的答案(S)! BR!
確切位置在哪裏,你得到的錯誤是什麼呢?請更新您的問題。 – hotzst