登録内容をCSVファイルへ保存する機能を実装したプログラムを作成したいんですが、作成方法が分かりません。
【実装させたい機能】
・「1.登録」で会員情報を登録後、「3.保存」を実行する事でCSV形式のファイルへ保存(書込)させたい。
・CSVファイルの中身は、「JAVA0001 , ○○○○ , 1999/01/01 , 090○○○○○○○○」のようなカンマ区切りのCSV形式で会員情報が表示される。
【現在の状況】
・デスクトップにKaiinフォルダを作成し、その中に「Kaiin.java」と「KaiinSystem.java」の2個ファイルを作成。(2ファイルは連動しています)
・コマンドプロンプトで、「KaiinSystem.java」のほうをコンパイル実行。
・下記メニュー画面が表示されます。
---------------------------------------
◆メニュー番号を選択してください。
1.登録 2.照会 3.保存 4.終了
・メニュー番号 >>
-----------------------------------------
・メニュー番号に1を入力実行し会員を登録します。登録後は下記画面のようになります。
-----------------------------------
[会員番号]JAVA0001
[名前]○○○○
[生年月日]1999/01/01
[電話番号]090○○○○○○○○
-----------------------------------
・登録後、「3.保存」を実行すると、下記画面のエラーメッセージが表示されうまく保存(ファイルへ書込)ができません。
一応CSVファイルは作成されますが、中身を確認しても登録した会員情報が反映されてなく空白状態です。
----------------------------------------------------------------------
会員情報を保存しました。
Exception in thread "main" java.lang.NullPointerException
at kaiin.KaiinSystem.procSav(KaiinSystem.java:119)
at kaiin.KaiinSystem.main(KaiinSystem.java:59)
----------------------------------------------------------------------
【質問】
<KaiinSystem.java>ソースコードをどのように修正を行えば、「3.保存」を実行した際に登録した会員情報が反映されたCSVファイルとして保存(書込)できますか??
下記に<KaiinSystem.java>のほうのソースコードを貼り付けましたので、教えて頂けると助かります。
宜しくお願いします。
※<KaiinSystem.java>のソースコードは文字数制限の関係上、「3.保存」と【現在の状況】に貼り付けたエラーメッセージ画面が指摘している部分(59・119行目)のみ抜粋して貼り付けました。
<Kaiin.java>のほうのソースコードにつきましては、自分の質問履歴の中の「会員情報登録プログラムの作成について」のリンク先を開いていただき、No.1の下の「この回答への補足」に貼り付けております。
また、同じくNo.1の下の「この回答へのお礼」に<KaiinSystem.java>のソースコードも貼り付けられておりますが、色々修正を行い現在は全体的に全く違うソースコードとなっております。
<Kaiin.java>は現在も同じソースコードです。
<KaiinSystem.java>ソースコード
--------------------------------------------------------------------
・・・
case MENU_SAV://保存処理
System.out.println("会員情報を保存しました。");
ks.procSav(); //エラー(1)59行目
break;
・・・
//3.保存
private void procSav(){
try {
PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter("Kaiin.csv")));
int i = 0;
writer.println(kinList.get(i).toCsvFormat()); //エラー(2)119行目
for (i = 0; i < kinList.size(); i++){
}
writer.close();
} catch (IOException e) {
System.out.println(e);
}
}
・・・
--------------------------------------------------------------------
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
java.lang.NullPointerException
ということは、該当個所でnullポインタに対してなにか操作をしようとした、と予想されます。
a.method() で a=null になっているとか。
> at kaiin.KaiinSystem.procSav(KaiinSystem.java:119)
> writer.println(kinList.get(i).toCsvFormat()); //エラー(2)119行目
とあるので、
writer がnull
kinListがnull
kinList.get(i)がnull
が考えられます。
どれがnullになっているかを確認し、それがnullになる原因を探りましょう。
java.lang.NullPointerException は、プログラム作成中にはよく出会う例外です。
最低限、上記の「どれがnullになっているか」くらいは、人に聞かずに、自分で調べるようにしましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SVFの設定について:クラスパス...
-
javaクラスファイルをEclipseで...
-
「削除するか、クラスパスの正...
-
classファイルについて
-
Eclipse・プロジェクトで、フォ...
-
java クラスファイルとソースコ...
-
import javax.el.*;について
-
コンパイルした後 java (class...
-
org.apache.tools.zip.* を使っ...
-
jdbcドライバのjarファイルにク...
-
EclipseでHTTP404エラーが出る。
-
eclipseでjarファイル内のリソ...
-
EclipseでのJSP・Servlet開発に...
-
classファイルが作成されない
-
VisualStudioでC++クラスを追加...
-
【Eclipse】パッケージ・エクス...
-
ResourceBundleクラスの使い方
-
JavaBeansファイルとサーブレッ...
-
earファイルを展開する方法
-
コンパイルをしようとするとエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
classファイルについて
-
javaクラスファイルをEclipseで...
-
Eclipse「リフレッシュ」と「ク...
-
SVFの設定について:クラスパス...
-
eclipse でclassesフォルダーが...
-
【Eclipse】パッケージ・エクス...
-
earファイルを展開する方法
-
EclipseでHTTP404エラーが出る。
-
jdbcドライバのjarファイルにク...
-
プログラム実行の際に、「ソー...
-
「メイン・マニフェスト属性が...
-
「削除するか、クラスパスの正...
-
コンパイルをしようとするとエ...
-
java クラスファイルとソースコ...
-
『ClassNotFoundException: org...
-
javax.mailがimportできない
-
ResourceBundleクラスの使い方
-
macでのファイル場所指定
-
「main メソッドを持つクラスが...
おすすめ情報