-3
エラーはwriteToFile()メソッドにあります。私はそれをコメントすることができ、それは例外エラーなしで完全に実行されます。だから基本的に、私はそれらの栄養学の事実をテキストファイルに印刷しようとしています。 エラーが 環境で Environment.writeToFile(Java1001.java:71)のメイン "java.lang.NullPointerExceptionがこの私は 'スレッドで例外が発生する "メイン" java.lang.NullPointerException'
「スレッドでの例外" のように見えます。(Java1001.java:54) Java1001で.main(Java1001.java:43)」
import static java.lang.System.*;
import java.io.*;
public class Java1001
{
public static void main(String[] args) throws IOException
{
new Environment();
}
}
class Environment
{
private PrintStream outFile;
public Environment()
{
createOutputStream();
writeToFile();
}
public void createOutputStream()
{
// create outFile stream here
File outFile = null;
try
{
outFile = new File("Nutrition.txt");
outFile.createNewFile();
}
catch (Exception e){}
}
public void writeToFile()
{
outFile.println("NUTRITION FACTS");
outFile.println("======================================");
outFile.println("Serving Size 1 tbsp (6g)");
outFile.println("Servings Per Container about 4");
outFile.println("======================================");
outFile.println("Amount Per Serving");
outFile.println("Calories 20");
outFile.println("Calories from Fat 5");
outFile.println("======================================");
outFile.println("Total Fat 0.5g");
outFile.println("Sodium 280mg");
outFile.println("Total Carbohydrate 4g");
outFile.println("Sugars 0g");
outFile.println("Protein less than 1 g");
outFile.println("======================================");
}
}
あなたはoutFile' 'という名前の2つの変数を持っています。 –
データメンバの代わりに 'createOutputStream()'のローカル変数 'outFile'を初期化していますので、' writeToFile() 'のデータメンバは' null'です。 – breezee