第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