Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java数组打印为空_Java_Arrays - Fatal编程技术网

java数组打印为空

java数组打印为空,java,arrays,Java,Arrays,您好,我正在制作一个报警程序,从我尝试执行的db.txt文件System.out.println(array[])中收集数据时遇到问题但是它没有做任何事情,我想知道是否有可能创建一个int,让我们调用它number并使用它来选择一个数组,这样打印System.out.println(array[number])无论如何,这就是我试图做的,它仍然返回null。这是我的java代码: import java.io.FileNotFoundException; import java.io.IOExc

您好,我正在制作一个报警程序,从我尝试执行的db.txt文件
System.out.println(array[])中收集数据时遇到问题
但是它没有做任何事情,我想知道是否有可能创建一个int,让我们调用它number并使用它来选择一个数组,这样打印
System.out.println(array[number])无论如何,这就是我试图做的,它仍然返回null。这是我的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);
}

}

将index
insertNumber
增加到下一个值,该值在数组中为空
,然后打印它

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
}     
此外,该行不正确:

insertNumber = numberArray[insertNumber];

可能的重复作为一种良好做法,在进行任何其他比较之前,您应该检查
是否为null(因为如果null检查失败,其他比较将不会为true)。输入文件如下所示:/Hello s s/World a a每个字符是一个新行BTW请大写,标点,第二段,看看第二个循环<代码>插入编号=插入编号+1(搜索它。)是否有否决票的原因?这是正确的答案。
insertNumber = numberArray[insertNumber];