
[code]

    import java.io.*;
    
    public class Many years calendar
    {
        public static void main(String[] args) throws Exception{
            BufferedReader in = 
                new BufferedReader(new InputStreamReader(System.in));
    
            System.out.print("年は?: ");
            String str1 = in.readLine();
            System.out.print("月は?: ");
            String str2 = in.readLine();
    
            int year = Integer.parseInt(str1);
            int month = Integer.parseInt(str2);
            int dow = dayofweek(year, month);
            int dim = daysinmonth(year, month);
    
            showcal(dow, dim);
        }
    
        // カレンダーを表示する
        public static void showcal(int dow, int days) throws Exception{
            System.out.println("日 月 火 水 木 金 土");
    
            int d = 1;
            int i;
    
            // 最初の週の表示 
            for(i = 0; i < dow; i++){
                System.out.print("   ");
            }
            for(; i < 7; i++){
                System.out.print(" " + d + " ");
                d++;
            }
            System.out.println();
    
            // 二週目以降の表示
            for(int j = 0; d <= days; j++){
                for(i = 0; i < 7 && d <= days; i++){
                    if(d < 10)
                        System.out.print(" " + d + " ");
                    else
                        System.out.print(d + " ");
                    d++;
                }
                System.out.println();
            }
        }
    
        // 月の日数をかえす
        public static int daysinmonth(int year, int month) throws Exception{
            int dim = 31;
            if(month == 4 || month == 6 || month == 9 || month == 11)
                dim = 30;
            if(month == 2){
                if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
                    dim = 29; // うるう年
                else
                    dim = 28;
            }
            return dim;
        }
    
        // 年の日数をかえす
        public static int daysinyear(int year) throws Exception{
            int diy;
            if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
                diy = 366; // うるう年
            else
                diy = 365;
            return diy;
        }
    
        // 月の初日の曜日をかえす
        public static int dayofweek(int year, int month) throws Exception{
            int days = 0;
            int y = 0, m = 0;
            int dow = 0;
    
            // 2000年以降
            if(year >= 2000){
                for(y = 2000; y < year; y++){
                    days = days + daysinyear(y);
                }
                for(m = 1; m < month; m++){
                    days = days + daysinmonth(year, m);
                }
                dow = (days + 6) % 7;
            }
    
            // 1999年以前
            else{
                for(m = month; m <= 12; m++){
                    days = days + daysinmonth(year, m);
                }
                for(y = year + 1; y < 2000; y++){
                    days = days + daysinyear(y);
                }
                dow = 6 - days % 7;
            }
            return dow;
        }
    }
    
[/code]

上のjavaのやつをcalendar obj = new calendar2();もいれて、コンパイルして、calendar2.classとMany
years calendar.classを出したいのです。

どうやったらいいか分かりますか？

よろしくお願いします。


CC BY-SA 3.0
2015-06-25T07:57:27.660
11715
2015-07-10T01:06:42.273
2015-07-10T01:06:42.273
3516
10289
question
java
Calendar2(calendar2は元コードに見当たらないですが...)


まずこのクラスを Many years calendarから Many_years_calendar に変えます。  
ファイル名とクラス名は一致させる必要があるため、Many_years_calendar.javaの名前に変更してください。

また、

> calendar obj = new calendar2();もいれて、コンパイルして、calendar2.classとMany years
> calendar.classを出したい

とありますが、Many_years_calendarクラスからcalendar2クラスを利用している箇所はありません。これは何故コンパイルする必要があると思われたのでしょうか。


CC BY-SA 3.0
2015-06-26T02:44:02.470
11749
2015-06-26T02:44:02.470
5778
11715
answer