0

Java を使用して、NetBeans IDE で簡単なプログラムを作成しました。今朝、メイン メソッドにいくつかの変更を加えた後、プログラムを実行してもコンソールに何も出力されません。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
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. コアプロジェクトの一部ではない追加のクラスをインポートする必要があります。例外、ファイル、およびスキャナーはすべてこのカテゴリに分類されます。
  2. 実際にファイルを作成するには、createNewFile()メソッドを実行する必要があります。ファイルが作成されていなかったため、元のコードはFileNotFound例外をスローしていました。
  3. 呼び出す前に、startMenusメソッドを定義する必要があります。

修正されたコードをいくつか含めました。お役に立てれば!

于 2013-03-11T19:56:57.790 に答える
0

System.out 呼び出しは、ループの 1 つが実行に時間がかかりすぎたため、おそらくまだ到達していません。ループ内から何かをログに記録して、さらにフィードバックを取得します。プログラムはおそらく問題ありません。

于 2013-03-11T20:50:58.990 に答える
0

System.out.println に到達する前に、アプリを強制終了する他の例外をスローしていないことを確認してください。あなたの説明から判断すると、何かのために死んでいる可能性があるため、デバッグするか、他のいくつかの println ステートメントをチェーンのさらに上に置くことができます。

于 2013-03-11T19:47:34.740 に答える