前提・実現したいこと
前回に引き続き某サイト内の問題についてです。
色々試してトータルのカウント数が予想通りに表示されたのですが、問題の意図として"count1"のような別の変数を作って解決しなさいという内容に見えないので、
もっといい解決方法があるのではないかと思い投稿しました。
c1.getCount() + c2.getCount()を、クラスCounterの静的メソッドによって出力できるようにプログラムを改造しなさい。その際、以下のようにクラスCounterを変更すること。
・作成する静的メソッドの名前は、getTotalCount()とする。(戻り値はint)
・このメソッド内では、トータルのカウント回数を記録した静的フィールドを、totalCountとする。
該当のソースコード
Counter.java package problemex1; public class Counter { // カウント private int count = 0; // コンストラクタ public void reset(){ count = 0; } // カウント public void count(){ count++; } // 値の取得 public int getCount(){ return count; } } Problemex1_4.java package problemex1; public class Problemex1_4 { public static void main(String[] args) { Counter c1,c2; c1 = new Counter(); c2 = new Counter(); c1.count(); c2.count(); c2.count(); c2.reset(); c1.count(); c1.count(); c2.count(); System.out.println("c1のカウント数:" + c1.getCount()); System.out.println("c2のカウント数:" + c2.getCount()); System.out.println("トータルのカウント数:" + (c1.getCount() + c2.getCount())); } }
試したこと
Counter.java package Problemex1_4; public class Counter { private int count = 0; private int count1 = 0; private static int totalCount = 0; public void reset(){ count = 0; totalCount-=count1; } public void count(){ count++; totalCount++; count1++;} public int getCount(){ return count; } public static int getTotatlCount(){return totalCount;} } Problemex1_4.java package Problemex1_4; public class Problemex1_4 { public static void main(String[] args){ Counter c1,c2; c1 = new Counter(); c2 = new Counter(); c1.count(); c2.count(); c2.count(); c2.reset(); c1.count(); c1.count(); c2.count(); System.out.println("c1のカウント数:"+c1.getCount()); System.out.println("c2のカウント数:"+c2.getCount()); System.out.println("トータルのカウント数:"+Counter.getTotatlCount()); } }
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。