第10回独習Javaゼミ 直江担当演習問題
解答例
--------------------------------------------------
問1

import java.util.*;

public class test1 {
	static public void main(String args[]){
		Random rand=new Random() ;
		double data[]=new double[100] ;
		double average,temp=0.0,disp=0.0 ;
		for(int i=0;i<100;i++){
			data[i]=rand.nextGaussian() ;
			temp+=data[i] ;
		}
		average=temp/100.0 ;
		for(int i=0;i<100;i++){
			disp=(data[i]*data[i])-(temp*temp/100) ;
		}
		disp/=100 ;

		System.out.println("Gaussian乱数について...") ;
		System.out.println("平均..."+average) ;
		System.out.println("分散..."+disp) ;
	}
}

[出力結果]
Gaussian乱数について...
平均...0.019176861619424307
分散...-3.412364707249433E-4
--------------------------------------------------
問2

import java.util.*;

public class test2 {
	static public void main(String args[]){
		int count=0 ;
		Calendar c=Calendar.getInstance() ;
		int now=c.get(Calendar.YEAR) ;
		GregorianCalendar gc=new GregorianCalendar() ;
		for(int i=1970;i<=now;i++){
			if(gc.isLeapYear(i))count++ ;
		}
		System.out.println("1970年から今までのうるう年は...") ;
		System.out.println(count+"回ありました...") ;
	}
}

[出力結果]
1970年から今までのうるう年は...
9回ありました...
--------------------------------------------------
問3

import java.util.*;

public class test3 {
	static public void main(String args[]){
		int year=Integer.valueOf(args[0]).intValue() ;
		int month=Integer.valueOf(args[1]).intValue() ;
		int date=Integer.valueOf(args[2]).intValue() ;
		String temp="" ;
		GregorianCalendar gc=new GregorianCalendar(year,month,date) ;
		switch(gc.get(GregorianCalendar.DAY_OF_WEEK_IN_MONTH)){
		case(GregorianCalendar.MONDAY) :
			temp="MONDAY" ;
			break ;
		case(GregorianCalendar.TUESDAY) :
			temp="TUESDAY" ;
			break ;
		case(GregorianCalendar.WEDNESDAY) :
			temp="WEDNESDAY" ;
			break ;
		case(GregorianCalendar.THURSDAY) :
			temp="THURSDAY" ;
			break ;
		case(GregorianCalendar.FRIDAY) :
			temp="FRIDAY" ;
			break ;
		case(GregorianCalendar.SATURDAY) :
			temp="SATURDAY" ;
			break ;
		case(GregorianCalendar.SUNDAY) :
			temp="SUNDAY" ;
			break ;
		}
		System.out.println("指定年月日..."+year+"/"+month+"/"+date) ;
		System.out.println(gc.get(GregorianCalendar.YEAR)+"年元旦から数えて...") ;
		System.out.print(gc.get(GregorianCalendar.DAY_OF_YEAR)+"日目,") ;
		System.out.println("曜日..."+temp) ;
	}
}

[出力結果]
指定年月日...2006/6/28
2006年元旦から数えて...
209日目,曜日...WEDNESDAY