0

我使用 Java 在 NetBeans IDE 中编写了一个简单的程序。今天早上对 main 方法进行了一些更改后,当我运行程序时,控制台没有打印任何内容。我只是想让它到达 startMenus(sc)。编辑:我现在已经放入了一些 System.out.println() 并且它没有达到“Blah2”,这是在我的第一个循环之后......

public class Calculator {

public static int[] NUMBERS;    //global value for the array

public static void main(String[] args) throws FileNotFoundException {      
    File file = new File("data.txt");
    Scanner sc = new Scanner(file);

    System.out.println("Blah1");

    int counter = 0;
    while (sc.hasNextInt()) {
        counter = counter++;
    }

    System.out.println("Blah2");

    int lenth = counter;

    NUMBERS = new int[lenth];

    System.out.println("Blah3");

    sc.close();

    File file2 = new File("data.txt");
    Scanner sc2 = new Scanner(file2);

    System.out.println("Blah4");

    int i = 0;

    while (sc2.hasNextInt()) {
        NUMBERS[i] = sc2.nextInt();
        ++i;
    }

    System.out.println("Blah5");

    sc2.close();


    System.out.println("Welcome to Calculation Program!\n");
    startMenus(sc);

}
}
4

3 回答 3

0

System.out 调用可能尚未到达,因为您的循环之一执行时间太长,比您愿意等待的时间更长。从循环内部记录一些内容以获得更多反馈,该程序可能没问题。

于 2013-03-11T20:50:58.990 回答
0

您确定在应用程序到达 System.out.println 之前没有抛出任何其他会杀死您的应用程序的异常吗?从您的描述来看,您可能想要调试或将其他一些 println 语句放在链上,因为它可能会因某些事情而死。

于 2013-03-11T19:47:34.740 回答
0
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;

public class Calculator {    

    public static int[] NUMBERS;    //global value for the array

    public static void main(String[] args) throws FileNotFoundException, IOException {
    File file = new File("data.txt");
    file.createNewFile();
    Scanner sc = new Scanner(file);

    int counter = 0;
    while (sc.hasNextInt()) {
        counter = counter++;
    }

    int lenth = counter;

    NUMBERS = new int[lenth];

    sc.close();

    File file2 = new File("data.txt");
    file2.createNewFile();
    Scanner sc2 = new Scanner(file2);

    int i = 0;

    while (sc2.hasNextInt()) {
        NUMBERS[i] = sc2.nextInt();
        ++i;
    }

    sc2.close();


    System.out.println("Welcome to Calculation Program!\n");
    startMenus(sc);

}

    private static void startMenus(Scanner sc) {
        System.out.println("Run your code here!!!");
    }
}

几件事:

  1. 您需要导入不属于您的核心项目的其他类。Exceptions、File 和 Scanner 都属于这一类。
  2. 您需要运行 createNewFile() 方法来实际创建文件。您的原始代码引发了 FileNotFound 异常,因为该文件从未被创建。
  3. 您需要在调用它之前定义 startMenus 方法。

我已经包含了一些更正的代码。希望这可以帮助!

于 2013-03-11T19:56:57.790 回答