[英]java arrays printing as null
你好,我正在制作一個警報程序,我在從 db.txt 文件中收集數據時遇到了問題,我試圖這樣做System.out.println(array[]);
但它沒有做任何事情我想知道是否有可能創建一個 int 讓它稱之為數字並使用它來選擇一個數組來打印,就像這樣System.out.println(array[number]);
無論如何這就是我想要做的,它仍然返回空值。 這是我的 Java 代碼:
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import javax.swing.*;
public class alarm {
public static JFrame window;
public JPanel p;
public RandomAccessFile rw;
alarm() throws IOException {
window = new JFrame();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setResizable(false);
window.setSize(600, 600);
p = new JPanel();
p.setLayout(null);
try {
rw = new RandomAccessFile("db.txt", "rw");
int loop = 0;
int insertNumber = 0;
int[] numberArray = new int[1000000];
String[] name = new String[1000000];
String[] desc = new String[1000000];
String[] date = new String[1000000];
String row = null;
while(loop == 0) {
row = rw.readLine();
if(row == "/") {
insertNumber = insertNumber + 1;
insertNumber = numberArray[insertNumber];
name[insertNumber] = rw.readLine();
desc[insertNumber] = rw.readLine();
date[insertNumber] = rw.readLine();
}
if(row == null) {
insertNumber = 0;
loop = 1;
}
}
System.out.println("Arrays loaded");
while(loop == 1) {
insertNumber = insertNumber + 1;
if(name[insertNumber] == null) {
loop = 2;
}
System.out.println(name[insertNumber]);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws IOException {
new alarm();
window.setVisible(true);
}
}
您將索引insertNumber
增加到下一個值,該值在數組中為 null ,然后打印它。
while(loop == 1) {
insertNumber = insertNumber + 1; // insertNumber is incr. before index 0 is printed
if(name[insertNumber] == null) { // Always true if size < 2 elements
loop = 2;
}
System.out.println(name[insertNumber]); //prints null is size < 2
}
試試吧:
for(String element : name) {
System.out.println(element + " ");
}
此外,這一行是不正確的:
insertNumber = numberArray[insertNumber];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.