day103 Nuxt.js、Javaコンソールアプリ作成

こんばんは。今日は一日勉強が出来ました。

成果物も作れまして達成感と自信がつきました。

今日の実施内容です。

5/3:◎
・nuxt.js ->Vuexあたりの勉強
・Java ->コンソールプログラム作成「家計簿アプリ」

今日は12時間ぐらい勉強できました。

コンソールプログラムを半日かけて作れました。。

むちゃくちゃなインデント、コメントですけど一旦のせさせてください・・・。うれしい。

一から作るのがこんなに大変だなんて・・・。いい課題でした。

早く仕事を始めないとレベルアップが出来ないと痛感しました。



package pac;

import java.util.ArrayList;
import lib.Input;

//todo

// 同じ項目の時の処理


public class Test2 {

	public static void main(String[] args) {

		String menu;
		Integer cost;
		String answer;
		

		ArrayList<String> menuList = new ArrayList<>();
		ArrayList<Integer> costList = new ArrayList<>();

		
		System.out.println("!!!家計簿アプリ開始!!!");
		//段落
		System.out.println("");
		
		while((menu = Input.getString("項目")) != null) {
			
			cost = Input.getInt("金額");

			answer = Input.getString(menu + String.format("%,d", cost) + "円を登録します。よろしいですか?(Y/N)");

			//段落
			System.out.println("");
			
				//equalsメソッドで判定。(メモリ領域のYと"Y"は別物)。文字列はequalsで判定する。
   			if(answer.equals("Y")) {
   				
   				
   				
   				//同じ項目であれば加算する。
   				// 項目が重複していなければ「-1」が返ってくる。重複する場合は0~で配列の場所が返ってくる。
   				
   				
   				if(menuList.indexOf(menu) < 0 ) {
   					
   					//異なる項目の場合は.add処理する
   					menuList.add(menu);
   					costList.add(cost);
   					
   					
   				}else {
   					
   					//同じ項目であれば、金額をインクリメントする
   					//menuList.indexOf(menu) で配列数が確認できる
   					//配列数がわかれば、costの配列に当ててあげて
   					//list.set( 配列数 , cost[配列] += cost)
   					
   					 // 重複する配列のindexを変数代入。
   					 int same  = menuList.indexOf(menu);
   					 costList.set(same , costList.get(same) + cost );
   					
   				}
   				
   				System.out.println("【家計簿】");
					//for文で全項目を出力
					
					for(int i=0 ; i < menuList.size(); i++) {
						
						//タブで等間隔に表示させる。\t
						System.out.println(menuList.get(i) + "\t" + String.format("%,8d", costList.get(i)) + "円");
						
					}
   				
					//段落
   				System.out.println("");
   				
   			}

		}
		
		//段落
		System.out.println("");
		System.out.print("家計簿アプリを終了します。");
​

この記事が気に入ったらサポートをしてみませんか?