JAVA例3)条件制御文(1)

11627 ワード

例14  入力した年が閏年であるかどうかを判断する
import java.util.Scanner;

public class Control_01 {
	public static void main(String[] args) {
		System.out.println("                 :");
		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine(); 				//             
		if (str.length() != 4) { 					//             
			System.out.println("      4  !!");
		}
		int year = Integer.parseInt(str);			//        int 
		boolean flag1 = year % 400 == 0; 		//       400  ,       
		boolean flag2 = (year % 4 == 0) && (year % 100 != 0); 
		//       4      100  ,       
		String message = (flag1 || flag2) ? "   " : "    "; 		//          year     
		System.out.println(year + " " + message); 				//         
	}
}

 
 インスタンス15  抽選活動
import java.util.Random;

public class Control_02 {
	final static int num = 4;				//           
	public static void main(String[] args) {
		Random rd = new Random();		//  Random  
		String str = "";
		for (int i = 0; i < num; i++) {		//    4    0 1      
			String s = rd.nextInt(2) + "";
			str = str + randomSelection(s);	//   randomSelection             
		}
		System.out.println("       :" + str);
		System.out.println(drawaLottery(str));
	}
	public static String randomSelection(String str) {//            
		if (str.equals("1")) {					//1:       ;0:       
			return "★";
		} else {
			return "☆";
		}
	}
	public static String drawaLottery(String str) {	//          
		if (str.equals("★★★★")) {
			return "              ,     1000  ";
		} else if (str.equals("★★★☆")) {
			return "              ,     80  ";
		} else if (str.equals("★★☆☆")) {
			return "              ,     8000 ";
		} else {
			return "      !!";
		}
	}
}

 
例16  小九九乗算表
public class Nine {
	public static void main(String[] args) {
		for (int i = 1, j = 1; j <= 9; i++) {
			System.out.print(i + "*" + j + "=" + i * j + " ");
			if (i == j) {
				i = 0;
				j++;
				System.out.println();
			}
		}
	}
}

 
例17  素数のリスト方法
import java.util.Arrays;

public class ForCycle_06 {
	private static boolean[] primeNumber(int num){	//   
		if(num<=0){						//       
			System.out.println("      0");
			return null;
		}
		boolean[]primes=new boolean[num+1];	//        ,     +1.
		primes[1]=false;					//     1  ,  1    
		Arrays.fill(primes, 2,num+1,true);		//            true
		int n=(int)Math.sqrt(num);				//Math.sqrt       
		for(int i=1;i<n;i++){
			if(primes[i]){					//     ,  i       
				for(int j=2*i;j<=num;j+=i){
					primes[j]=false;
				}
			}
		}
		return primes;
	}
	public static void showPrimeNumber(int num){		//    
		boolean [] primes=primeNumber(num);		//              
		int n=0;
		if(primes!=null){
			for(int i=1;i<primes.length;i++){			//           
				if(primes[i]){					//        true,       
					System.out.print(i+" ");		//    
					if(++n%10==0)				//   10     
						System.out.println();
				}
			}
			System.out.println();
		}
		System.out.println("   "+n+" ");
	}
	public static void main(String[] args) {		
		int num = 100;							//        
		System.out.println("   "+num+"     :");
		showPrimeNumber(num);					//        
	}
}

  
インスタンス18  Javaでの再帰
public class ForCycle_07 {
	public static int circleFactorial(int n) { 			//           
		int sum = 1;
		if (n < 0) {								//     n     
			throw new IllegalArgumentException("      !");	//          
		}
		for (int i = 1; i <= n; i++) { 								//   n     
			sum *= i; 										//            
		}
		return sum; //       
	}
	public static int recursiveFactorial(int n) { 						//          
		int sum = 1;
		if (n < 0)
			throw new IllegalArgumentException("      !");	//          
		if (n == 1) {
			return 1; 										//   n=1     
		} else {
			sum = n * recursiveFactorial(n - 1); 					//       
			return sum;
		}
	}
	public static void main(String[] args) {
		int n = 5;
		System.out.println("        " + n + "   " +
				"
:" // circleFactorial + circleFactorial(n)+"
"); System.out.println(" " + n + " " + "
:" // recursiveFactorial + recursiveFactorial(n)); } }

 
実例19男子学生と女子学生はそれぞれ何人ですか?
public class ForCycle_02 {
	public static void main(String[] args) {
		ForCycle_02 fc02 = new ForCycle_02(); 		//        ,         
		int sum; 								//       
		System.out.println("100~999        :");
		for (int i = 100; i <= 999; i++) { 	//                 ,  100-999      
			int a = fc02.getSumOfCubic(i / 100);			// i / 100          
			int b = fc02.getSumOfCubic((i / 10) % 10);		// (i / 10) % 10          
			int c = fc02.getSumOfCubic(i % 10);			// i % 10          
			sum = a + b + c;						//       
			if (sum == i) { 		//                 ,              
				System.out.print(i + "  ");
			}
		}
	}
	public int getSumOfCubic(int num) { 				//       num    
		num = num * num * num;
		return num;
	}
}

 
例20  水仙の数を求めます
public class ForCycle_02 {
	public static void main(String[] args) {
		ForCycle_02 fc02 = new ForCycle_02(); 		//        ,         
		int sum; 								//       
		System.out.println("100~999        :");
		for (int i = 100; i <= 999; i++) { 	//                 ,  100-999      
			int a = fc02.getSumOfCubic(i / 100);			// i / 100          
			int b = fc02.getSumOfCubic((i / 10) % 10);		// (i / 10) % 10          
			int c = fc02.getSumOfCubic(i % 10);			// i % 10          
			sum = a + b + c;						//       
			if (sum == i) { 		//                 ,              
				System.out.print(i + "  ");
			}
		}
	}
	public int getSumOfCubic(int num) { 				//       num    
		num = num * num * num;
		return num;
	}
}

 
例21  任意の1つの正数の階乗を求めます
public class ForCycle_03 {
	public static void main(String[] args) {
		System.out.println("        :");
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		int layer = num;
		int j = 1;
		loop: while (true) { 			// break  
			layer = layer * (num - j); 	//         
			j++; // j    
			if (j == num)
				break loop; 		//   j>I,      
		}
		System.out.println(num + "    :" + layer);
	}
}

 
例22  nのn次方を求める
package Chapter03;

import java.util.Scanner;

public class ForCycle_04 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("     :");
		int num = sc.nextInt();	// num      
		System.out.println("     :");
		int power = sc.nextInt();	//     
		int result = 1;			//        
		for (int i = 0; i < power; i++) {
			result = result * num;
		}
		System.out.println(num + " " + power + "      " + result);
	}
}

 
インスタンス23  forループによるジオメトリの出力
public class ForCycle_05 {
	public static void showEquilateral(int row) { 		//          
		for (int i = 1; i < row; i++) {	 				//            
			for (int j = 1; j <= row - i; j++) { 			// j        ,    =   -1
				System.out.print(" ");
			}
			for (int x = 1; x <= i * 2 - 1; x++) {		// x       "*",   =    *2-1
				System.out.print("*");
			}
			System.out.println(); 				//           
		}
	}
	public static void showRhombus(int row) { 		//       
		if (row >= 1) { //        
			int x, y;
			for (x = 1; x <= row; x++) { 			//             
				for (y = 1; y <= row - x; y++)		//           
					System.out.print(" ");
				for (y = 1; y <= 2 * x - 1; y++)		//      "#" 
					System.out.print("#");
				System.out.println(); 			//           
			}
			for (x = 1; x <= row; x++) { 			//            
				for (y = 1; y <= x; y++)			//           ,         
					System.out.print(" ");
				for (y = 1; y <= 2 * (row - x) - 1; y++)	//      "#" 
					System.out.print("#");
				System.out.println(); //           
			}
		} else {
			System.out.println("        ,     !!!");
		}
	}
	public static void showLettersTriangle(int row) {		//                
		for (int i = 1; i <= row; i++) { 				//     row ,  row 
			for (int x = 1; x < i; x++)				//           
				System.out.print((char) (x + 96));	// x + 96           
			for (int y = i; y != 0; y--)				//           
				System.out.print((char) (y + 96));
			System.out.println(); 				//           
		}
	}
	public static void main(String[] args) { 
		System.out.println("(1)          ");
		showEquilateral(7); 						//      7        
		System.out.println("(2)       ");
		showRhombus(5); 						//      5     
		System.out.println("(3)               ");
		showLettersTriangle(5); 					//      5             
	}
}

 
インスタンス24  楊輝三角
public class ForCycle_08 {
	public static void yh_Triangle(int array[][], int rows) { //           
		for (int i = 0; i <= rows; i++) { //    
			for (int j = 0; j <= array[i].length - 1; j++) { 	//    
				if (i == 0 || j == 0 || j == array[i].length - 1)
					array[i][j] = 1; 				//        1
				else
											//                   
					array[i][j] = array[i - 1][j - 1] + array[i - 1][j]; 
			}
		}
		for (int i = 0; i <= rows; i++) { 				//    
			for (int j = 0; j <= array[i].length - 1; j++)	//    
				
				System.out.print(array[i][j] + " "); 	//       
			System.out.println(); 				//   
		}
	}
	public static void main(String args[]) { 
		final int rows = 7; 						//     
		int array[][] = new int[rows + 1][]; 			//       ,   8
		for (int i = 0; i <= rows; i++) { 				//        
			array[i] = new int[i + 1];
		}
		System.out.println("      :");
		yh_Triangle(array, rows); 					//           
	}
}