Javaプログラミング思想第4版第4章個人練習

2717 ワード

第四章
練習1:(1)プログラムを書き、1から100の値を印刷する
public static void main(String[] args) {
		test(100);
	}
	
	public static void test(int num){
		int i=0;
		while(i<num){
			System.out.print(++i);
			if(i!=100){				
				System.out.print("、");
			}
		}
		
		System.out.println();
		int j=0;
		do{
			System.out.print(++j);
			if(j!=100){				
				System.out.print("、");
			}
		}while(j<100);
		
		System.out.println();
		for(int k=0;k<100;){
			System.out.print(++k);
			if(k!=100){				
				System.out.print("、");
			}
		}
	}

練習2:(2)プログラムを書き、intタイプ25個の乱数を生成し、各乱数についてif-else文を使用して、それをより大きい、より小さい、またはそれに続くランダムに生成された値に分類します.
	public static void main(String[] args) {
		test();
	}
	
	public static void test(){
		int num[] =new int[25];
		for(int i=0;i<25;i++){
			Random r=new Random();
			int n=r.nextInt();
			num[i]=n;
			if(i>0){
				compare(num[i-1],num[i]);
			}
		}
	}

	public static void compare(int n1,int n2){
		//System.out.println(n1+"、"+n2+"
n1>n2:"+(n1>n2)+"\t"+"n1==n2:"+(n1==n2)+"\t"+"n1<n2:"+(n1<n2)); if(n1>n2){ System.out.println(n1+" "+n2); }else if(n1<n2){ System.out.println(n1+" "+n2); }else { System.out.println(n1+" "+n2); } }

練習3:(1)練習2を修正し,コードをwhile無限ループで含める.その後、キーボードで動作が中断するまで実行する(通常はCtrl+cを押す).
public static void main(String[] args) {
		test();
	}
	
	public static void test(){
		int num[] =new int[2];
		int i=0;
		boolean flag=false;
		while(true){
			Random r=new Random();
			int n=r.nextInt();			
			if(flag){
				num[i]=n;
				compare(num[0],num[1]);
			}else{
				flag=true;
				num[i]=n;
			}
			i=i==0?1:0;
		}
	}

	public static void compare(int n1,int n2){
		//System.out.println(n1+"、"+n2+"
n1>n2:"+(n1>n2)+"\t"+"n1==n2:"+(n1==n2)+"\t"+"n1<n2:"+(n1<n2)); if(n1>n2){ System.out.println(n1+" "+n2); }else if(n1<n2){ System.out.println(n1+" "+n2); }else { System.out.println(n1+" "+n2); } }

練習4:(3)ネストされた2つのforループと余剰オペレータ(%)を使用して素数を検出して印刷するプログラムを書きます(それ自体と1でのみ除去され、他の数字では除去されない整数).
       public static void main(String[] args) {
		test(33);
	}
	
	public static boolean test(int num){
		for(int i=2;i<num;i++){
			if(num%i==0){
				System.out.println(num+"     ");
				return true;
			}
		}
		System.out.println(num+"    ");
		return false;
	}

練習5:(4)3章の練習10を繰り返し、Integerを使わないでください.toBinaryString()メソッドではなく、バイナリの1と0を3元オペレータとビットオペレータで表示します.