Q1.for文を用いて以下のように表示せよ。
[実行結果]
*****
[解答例]
public class Q1{
  public static void main(String[] args){
    for(int i=0;i<5;i++){
      System.out.print('*');
    }
    System.out.println();
  }
}
Q2.for文を用いて以下のように表示せよ。
[実行結果]
*****
*****
*****
[解答例]
public class Q2{
  public static void main(String[] args){
    for(int i=0;i<3;i++){
      for(int j=0;j<5;j++){
        System.out.print('*');
      }
      System.out.println();
    }    
  }
}
Q3.for文を用いて以下のように表示せよ。
[実行結果]
*
**
***
****
*****
[解答例]
public class Q3{
  public static void main(String[] args){
     for(int i=0;i<5;i++){
      for(int j=0;j<i+1;j++){
        System.out.print('*');
      }
      System.out.println();
    }
  }
}
Q4.for文を用いて以下のように表示せよ。
[実行結果]
*****
****
***
**
*
[解答例]
public class Q4{
  public static void main(String[] args){
     for(int i=0;i<5;i++){
      for(int j=0;j<5-i;j++){
        System.out.print('*');
      }
      System.out.println();
    }
  }
}
Q5.for文を用いて以下のように表示せよ。
[実行結果]
*************************
****************
*********
****
*
*
****
*********
****************
*************************
[実行例]
public class Q5{
  public static void main(String[] args){
    for(int i=5;i>=-5;i--){
      for(int j=0;j<i*i;j++){
        System.out.print('*');
      }
      System.out.println();
    }
  }
}
Q6.for文を用いて以下のように表示せよ。
[実行結果]
*****
 ****
  ***
   **
    *
[実行例]
public class Q6{
  public static void main(String[] args){
    for(int i=0;i<5;i++){
      for(int j=0;j<5;j++){
        if(j<i){
          System.out.print(' ');
        }else{
          System.out.print('*');
        }
      }
      System.out.println();
    }
  }
}
Q7.for文を用いて以下のように表示せよ。
[実行結果]
* * * * * * * * * * * * * * * * * * ** ** ** ** ** ** ** ** ** ** ** ** ** ** *** *** *** *** *** *** *** *** *** *** **** **** **** **** **** **** ***** *****
[実行例]
public class Q7{
  public static void main(String[] args){
    for(int i=5*5;i>0;i--){
      for(int j=5;j>=-5;j--){
        if(i<=j*j){
          System.out.print('*');
        }else{
          System.out.print(' ');
        }
      }
      System.out.println();
    }
  }
}
Q8.キーボードからの入力に対し、それを段数とするピラミッドを描画する処理を実現せよ。
[実行例1]
何段のピラミッドをつくる?>5
    *
   ***
  *****
 *******
*********
[実行例2]
何段のピラミッドをつくる?>10
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************
[解答例]
public class Jn25{
  public static void main(String[] args){
    System.out.print("何段のピラミッドを作る?>");
    int num=new java.util.Scanner(System.in).nextInt();
    //何行?->入力された数(5と仮定)
    for(int i=0;i<num;i++){
      //何列?->0行目5,1行目6,2行目7つまりnum+i
      for(int j=0;j<num+i;j++){
        //空白何個?->0行目4,1行目3,2行目2つまりnum-1-i
        if(j<num-1-i){
          System.out.print(' ');
        }else{
          System.out.print('*');
        }
      }
      //列の出力が終わったら改行
      System.out.println();
    }
  }
}
Q9.キーボードからの入力に対し、それを高さとする菱形を描画する処理を実現せよ。
[実行例1]
正の奇数を入力>7 * * * * * * * * * * * *
[実行例2]
正の奇数を入力>4 正の奇数を入力>-2 正の奇数を入力>5 * * * * * * * *
[解答例]
public class Jn25{
	public static void main(String[] args){
		int n;
		do{
			System.out.print("正の奇数を入力>");
			n=new java.util.Scanner(System.in).nextInt();
		}while(n < 0 || n % 2 == 0);
		for(int i=-n/2;i<=n/2;i++){
			for(int j=0;j<n;j++){
				System.out.print(j==Math.abs(i) || j==n-1-Math.abs(i) ? "*":" ");
			}
			System.out.println();
		}
	}
}
Q10.キーボードからの入力に対し、それを高さとする以下のような図形を描画する処理を実現せよ。
[実行例]
正の奇数を入力>2
正の奇数を入力>-5
正の奇数を入力>9
*********
 *******
  *****
   ***
    *
   ***
  *****
 *******
*********
[解答例]
public class Jn25{
	public static void main(String[] args){
		int n;
		do{
			System.out.print("正の奇数を入力>");
			n=new java.util.Scanner(System.in).nextInt();
		}while(n < 0 || n % 2 == 0);
		for(int i=-n/2;i<=n/2;i++){
			for(int j=0;j<=Math.abs(i)+n/2;j++){
				System.out.print(n/2-Math.abs(i)> j?" ":"*");
			}
			System.out.println();
		}
	}
}
Q11.水田の幅を入力するとその長さを1辺とする正方形の水田を以下のように描画する処理を実現せよ。
[実行例]
水田の幅を入力>>6 水田田水田田 田水田田水田 田田水田田水 水田田水田田 田水田田水田 田田水田田水
[解答例]
import java.util.*;
public class Jn25{
	public static void main(String[] args){
		System.out.print("水田の幅を入力>>");
		int w = new Scanner(System.in).nextInt();
		for(int i=0;i<w;i++){
			for(int j=0;j<w;j++){
				System.out.print(j%3 == i%3 ? "水":"田");
			}
			System.out.println();
		}
	}
}
Q12.以下のように描画する処理を実現せよ。(幅高さは固定でよい)
[実行例]
|_||_||_|| _||_||_||_ ||_||_||_| |_||_||_|| _||_||_||_ ||_||_||_|
[解答例]
import java.util.*;
public class Jn25{
	public static void main(String[] args){
		for(int i=0;i<6;i++){
			for(int j=10;j>0;j--){
				System.out.print(j%3 == i%3 ? "_":"|");
			}
			System.out.println();
		}
	}
}
       
  
  
  
  
コメント