> ナイスjava研究所,研究帖5

研究帖5

 

 

 


作者へのメッセージ
研究課題 ここまで作ったコード(インデント処理後)

研究課題 ここまで作ったコード(インデント処理後)

 

 

N 「そよ風さん、君のインデンターで、これまで作ったコードを書き換えて、発表しよう。 」

S 「はい。 」

N、S 「見学者の皆さん、もし興味があったら、見て下さい。」

 

【プログラムUdrl.java】研究帖1のゲーム**************************

import java.applet.*;
import java.awt.*;
import java.util.*;
import java.awt.event.*;



public class Udrl extends Applet implements ActionListener{
	Image ims,imw,imf,imp;
	Image[] im=new Image[4];
	Button bt[]=new Button[4];
	Label lbel,lpc,lpp;
	int ipc=0;
	int ipp=0;
	String spc="私のポイント    0";
	String spp="あなたのポイント    0";
	
	
	public void init(){
		
		
		im[0]=getImage(getDocumentBase(),"l.gif");
		im[1]=getImage(getDocumentBase(),"r.gif");
		im[2]=getImage(getDocumentBase(),"u.gif");
		im[3]=getImage(getDocumentBase(),"d.gif");
		
		ims=getImage(getDocumentBase(),"wind.gif");
		imw=getImage(getDocumentBase(),"win.gif");
		imf=getImage(getDocumentBase(),"los.gif");
		
		imp=ims;
				
		bt[0]=new Button("左");
		bt[1]=new Button("右");
		bt[2]=new Button("上");
		bt[3]=new Button("下");
		
		for(int i=0;i<bt.length;i++){
			bt[i].addActionListener(this);
			add(bt[i]);
		}
		
		lbel=new Label("30ポイントこえれば勝ち! ");
		lpc=new Label(spc);
		lpp=new Label(spp);
		
		add(lbel);
		add(lpc);
		add(lpp);
	}
	
		public void paint(Graphics g){
		g.drawImage(imp,50,50,this);
	}
	
	public void actionPerformed(ActionEvent e){
		
		Random R=new Random();
		int ia=R.nextInt(4);
		imp=im[ia];
	
		String s="";
		if(e.getSource()==bt[ia]){
			s="あたり";
			ipp+=3;
			spp="あなたのポイント "+ipp;
		}
		else{
			s="はずれ";
			ipc+=1;
			spc="私のポイント "+ipc;
		}
		lbel.setText(s);
		lpc.setText(spc);
		lpp.setText(spp);
		repaint();
		
		if(ipp>30){
			imp=imf;
			s="あなたの勝ち";
			lbel.setText(s);
			repaint();
		}
		if(ipc>30){
			imp=imw;
			s="私の勝ち";
			lbel.setText(s);
			repaint();
		}
	}
}	

【プログラムoiaio.java】ファイル入出力の操作のセット**************************

import java.io.*; import java.util.*; import java.text.*; class Kio{ String ioSet(String s){ String str=""; try{ InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); System.out.println(""); System.out.println(s); str=br.readLine(); } catch(Exception e){ System.out.println("例外:"+e); } return str; } } class oiaio{ public static boolean bo=true,b2=false; public static void main(String args[]){ Kio kio=new Kio(); String sdf,sq; boolean b3=false; int i1=0; do{ sq=kio.ioSet("1:ファイル調査, 2:ファイル名書き換え,3:ファイルを読む,4:ディレクトリ調査 \n1から4を入力して下さい。"); System.out.println(sq); try{ i1=Integer.parseInt(sq); } catch(NumberFormatException e){ } if((i1>0)&&(i1<5)){ b3=true; } }while(!b3); String[] ss1={"ファイル名を入力して下さい。","元のファイル名を入力してください。", "ファイル名を入力して下さい。","ディレクトリ名を入力して下さい。"}; String s1=ss1[i1-1]; if(i1==2) b2=true; sdf=kio.ioSet(s1); System.out.println(""); pSet ps=new pSet(i1); ps.pr(sdf); if(i1==3){ System.out.println("ファイル読み込み開始"); try{ char cdata[]=new char[1000]; FileReader fr=new FileReader(sdf); int iccount=fr.read(cdata); String str=new String(cdata,80,iccount-80); System.out.println(str); fr.close(); } catch(Exception e){ System.out.println("例外"+e+"発生"); } System.out.println("データ読み込み終了"); } if(bo && b2){ String sdf2=kio.ioSet("新しいファイル名を入力してください。"); File f1=new File(sdf); File f2=new File(sdf2); if (f1.renameTo(f2)){ System.out.println("ファイル名称変更完了"); System.out.println(""); ps.pr(sdf2); } else{ System.out.println("ファイル名称変更不可能"); } } } } class pSet{ //プリント用クラス。FCへ進む。 int i; pSet(int i1){ i=i1; } void pr(String sdf){ FC fc=new FC(); String[] ls; if(i==4){ ls=fc.dCheck(sdf); } else{ ls=fc.fCheck(sdf); } for(int i=0;i<ls.length;i++){ System.out.println(ls[i]); } } } class FC{ String[] dCheck(String sdf){ File fi=new File(sdf); if(fi.list()!=null){ return fi.list(); } else{ String[] ls={"ディレクトリ"+sdf+"は存在しない。"}; return ls; } } String[] fCheck(String sdf){ String[] sfc; File fi=new File(sdf); if(fi.exists()){ sfc=new String[7]; sfc[0]=sdf+"は存在する。"; sfc[1]="パス:"+fi.getParent(); sfc[2]="フルパス:"+fi.getPath(); sfc[3]="ファイルサイズ:"+fi.length(); sfc[4]="読み込み出来るか?:"+fi.canRead(); sfc[5]="書き込み出来るか?:"+fi.canWrite(); sfc[6]="最終更新日時:"+cmDate(fi.lastModified()); } else{ sfc=new String[1]; sfc[0]=sdf+"は存在しない。"; io270.bo=false; for(int i=1;i<sfc.length;i++){ sfc[i]=""; } } return sfc; } String cmDate(long l){ Date d1=new Date(l); DateFormat df=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); return df.format(d1); } }

研究課題に戻る。