javaを勉強し始めたばかりの者です。
setterに制限をかけて指定した数以外の数字を入れるとエラーを返すようにする課題を解いているのですが、インスタンスの生成でつまづいています。
java
1class GetAndSet{ 2 private int day; 3 private int year; 4 5 public GetAndSet(int day, int year){ 6 this.day = day; 7 this.year = year; 8 } 9 10 public int getDay(){ 11 return this.day; 12 } 13 public int getYear(){ 14 return this.year; 15 } 16 17 public void setDay(int day){ //1-31以外の数字ならエラーと表示 18 if(day >= 1 && day <= 31){ 19 this.day = day; 20 }else{ 21 System.out.println("error"); 22 } 23 } 24 public void setYear(int year){ //1-2020以外の数字ならエラーと表示 25 if(year >= 1 && year <= 2020){ 26 this.year = year; 27 }else{ 28 System.out.println("error"); 29 } 30 } 31}
↑のif文でsetterを使うとき指定範囲外の数字を入らないようにしました。
ですが、実行ファイルでインスタンスをどう生成すればいいのかがよくわかりません。
java
1GetAndSet test = new GetAndSet() 2test.setDay(10); 3・・・
のようにしたくても引数がないのでエラーになってしまいます(コンストラクタの部分は課題の一部なので変えられません)。
でも、GetAndSet test = new GetAndSet(100, 2019);
のように最初から引数を入れて作ると範囲外の数値が指定できてしまいます。
どうやって書けば良いのでしょうか?
初歩的な質問ですみません。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/10/07 05:01