java初心者です。
enumを使って星座判定をさせるプログラムを作ってみているのですが、
enumの使い方が上手く応用できません。
言語の本を買ったりネットで調べてみているのですが、
どうも詰まってしまったのでアドバイスをお願いしたいです。
前提・実現したいこと
メインで入力した年、月、日によって
星座を出力させたい
該当のソースコード
java
1 2public class Main { 3 4 public static void main(String[] args) { 5 Constellation constellation = Constellation.Aquarius; 6 7 System.out.println(constellation.toString()); 8 9 System.out.println("**********星座判定**********"); 10 System.out.println("誕生年を入力してください (例:1998->1998)"); 11 int year = new java.util.Scanner(System.in).nextInt(); 12 System.out.println("誕生月を入力してください (例:11月->11)"); 13 int month = new java.util.Scanner(System.in).nextInt(); 14 System.out.println("誕生日を入力してください (例:22日->22)"); 15 int day = new java.util.Scanner(System.in).nextInt(); 16 17 System.out.println(year+"年"+month+"月"+day+"日生まれのあなたの星座は"+constellation+"です"); 18 19 switch (constellation) { 20 case Aries: 21 System.out.println("牡羊座"); 22 break; 23 24 case Taurus: 25 System.out.println("牡牛座"); 26 break; 27 28 case Gemini: 29 System.out.println("双子座"); 30 break; 31 32 case Cancer: 33 System.out.println("牡牛座"); 34 break; 35 36 case Leo: 37 System.out.println("獅子座"); 38 break; 39 40 case Virgo: 41 System.out.println("乙女座"); 42 break; 43 44 case Libra: 45 System.out.println("天秤座"); 46 break; 47 48 case Scorpio: 49 System.out.println("蠍座"); 50 break; 51 52 case Sagittarius: 53 System.out.println("射手座"); 54 break; 55 56 case Capricorn: 57 System.out.println("山羊座"); 58 break; 59 60 case Aquarius: 61 System.out.println("水瓶座"); 62 break; 63 64 case Pisces: 65 System.out.println("魚座"); 66 break; 67 68 } 69 70 } 71} 72
該当のソースコード
java
1public enum Constellation { 2 3 4 Aries("牡羊座",3/21,4/19), 5 Taurus("牡牛座", 4/20, 5/20), 6 Gemini("双子座", 5/21, 6/21), 7 Cancer("蟹座", 6/22, 7/22), 8 Leo("獅子座", 7/23, 8/22), 9 Virgo("乙女座", 8/23, 9/22), 10 Libra("天秤座", 9/23, 10/23), 11 Scorpio("蠍座", 10/24, 11/22), 12 Sagittarius("射手座", 11/23, 12/21), 13 Capricorn("山羊座", 12/22, 1/19), 14 Aquarius("水瓶座", 1/20, 2/18), 15 Pisces("魚座", 2/19, 3/20); 16 17 private String name; 18 private int startDay; 19 private int endDay; 20 21 public String getName() { 22 return name; 23 } 24 25 public void setName(String name) { 26 this.name = name; 27 } 28 29 public int getStartDay() { 30 return startDay; 31 } 32 33 public void setStartDay(int startDay) { 34 this.startDay = startDay; 35 } 36 37 public int getEndDay() { 38 return endDay; 39 } 40 41 public void setEndDay(int endDay) { 42 this.endDay = endDay; 43 } 44 45 Constellation(String string, int i, int j) { 46 47 } 48 49 public void getType(int year,int month,int day) { 50 51 } 52} 53 54
試したこと
教本を買って読んだり、ネットでの検索を行いました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー