8일차 - 과제

|
package ArrayS;

import java.util.Arrays;
import java.util.Random;

public class 과제0703 {

	public static void main(String[] args) {
		
/*과제1> 다음과 같이 출력하시오.
 * 1 2 3 4 5
 *   6 7 8
 *     9
 *  10 11 12
 * 13 14 15 16 17
 */
		int num = 1;
		int gj1[][] = new int[5][5];
        //저장하는 부분
		for(int i=0;i<gj1.length;i++){
			if(i<3) //입력하면서 감소하는 부분
				for(int j=i;j<5-i;j++){
					gj1[i][j]=num;
					num++;
				}
			}else{  //입력하면서 증가하는 부분
				for(int j=4-i;j<=i;j++){
					gj1[i][j]=num;
					num++;
				}
			}
		}
        //출력하는 부분
		for(int i=0; i<gj1.length;i++) {
			for(int j=0; j<gj1.length; j++) {
				if(gj1[i][j]==0) 
					System.out.print("   ");
				else if(gj1[i][j]<10)
					System.out.print(gj1[i][j] + "  ");
				else
					System.out.print(gj1[i][j] + " ");
			}
			System.out.println();	
		}
		
        //강사님 풀이법
		int Exam1[][] = new int[5][5];
		int i, j, n=0;

		//입력하면서 감소하는 부분.
		for(i=0; i<3; i++) {  // 0<3, 1<3, 2<3, 3<3
			for(j=i; j<5-i; j++) { //2<3, 3<3
				n+=1;//1-> 2->3...->9
				Exam1[i][j] = n;//1,2,3,4,5
			}
		}
		//입력하면서 증가하는 부분.
		for(i=3;i<5; i++) { //3, 4
			for(j=4-i; j<i+1; j++) {   //1,2,3, 4<4, 0, 1<5, 2<5, 3<5, 4<5, 5<5
				n+=1;  //10, 11, 12, 13, 14, 15
				Exam1[i][j] = n;  //[3][1]=10, [3][2]=11, [3][3]=12, 
				   //[4][0]= 13, [4][1]=14, [4][2]=15,				
			}
		}
		//배열 출력
		for(i=0; i<5; i++) {
			for(j=0; j<5; j++) {
				System.out.print(Exam1[i][j] + "\t");
			}
			System.out.println(); 
	
		}
        

/*과제2> 변경 후와 같이 출력하시오.
 * 배열 num(10)에는 10개의 숫자가 저장되어 있습니다.
 * <변경전>
 * 10 20 30 40 50 60 70 80 90 100
 * <변경후>
 * 20 10 40 30 60 50 80 70 100 90
 */
		int num[] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
		int num2[] = new int [10];
		for(int i = 0; i<num.length-1; i+=2) {
			if(num[i]<num[i+1]) {
				num2[i] = num[i+1];
				num2[i+1] = num[i];
			}
		}
		for(int i = 0; i<num2.length;i++) {
			System.out.print(num2[i] + " ");
		}
		
		
/*과제3> 다음과 같이 출력하시오.
 * 1
 * 3 2
 * 6 5 4
 * 10 9 8 7
 * 15 14 13 12 11
 */
		
		int gj3[][] = new int[5][5];
		int temp=1; //표시할 값 temp
        //입력
		for(int i = 0; i<gj3.length; i++) { //i는 행
			for(int j = i ; j>=0; j--) { //j는 열
				gj3[i][j]=temp++; //[0][0] = 1, [1][1] = 2, [1][0] = 3....
			}
		}
        //출력
		for(int i = 0; i<gj3.length; i++) {
			for(int j = 0 ; j<=i; j++) {
				System.out.print(gj3[i][j] + " ");
			}
			System.out.println();
		}
		
/*과제4> 다음과 같이 출력하시오.
 * 21 22 23 24 25
 * 16 17 18 19 20
 * 11 12 13 14 15
 * 6 7 8 9 10
 * 1 2 3 4 5 
 */
		int gj4[][] = new int[5][5];
		int num = 1;
        //입력
		for(int i = gj4.length-1; i>=0; i--) {  //i는 행
			for(int j = 0 ; j<gj4.length ; j++) { //j는 열
				gj4[i][j]=num;   //[4][0]=1, [4][1]=2, [4][2]=3....(밑에서부터 찍음)
				num++;
			}
		}
        //출력
		for(int i=0;i<gj4.length;i++) {
			for(int j=0;j<gj4[i].length;j++) {
				System.out.print(gj4[i][j] + " ");
			}
			System.out.println();
		}
		
//과제5> boolean형 난수를 100개 생성하여 출력하세요.
		
		Random ran = new Random();
		Boolean gj5[] = new Boolean[100];
		int i = 0;
		for(i=0;i<gj5.length;i++) {
			gj5[i] = ran.nextBoolean();
			System.out.println((i+1) + "번째 난수는 = " +gj5[i]);
		}
		
//과제6> 100점대 난수를 100개 발생하여 출력하세요.
		
		int gj6[] = new int[100];
		int i = 0;
		for(i=0;i<gj6.length;i++) {
			gj6[i] = (int) (Math.random()*100);
			System.out.println((i+1) + "번째 난수는 = " +gj6[i]);
		}
		
        //강사님 풀이법
        Random rand = new Random();
		for(int i=0; i<100; i++) {
		double ranDouble2 = rand.nextDouble() + 100;//
		System.out.print(ranDouble2 + "\n");
		}
        

//과제7> 10~50을 초기값으로 갖는 1차원 배열을 text라는 이름으로 선언합니다.
// 4번째 원소의 값을 100으로 변경하고, 출력합니다.
// 모든 원소의 값을 0원으로 초기화하고, 출력합니다.
// 각 단계별 출력을 모두 실행이 되도록 합니다.
		
		int text[] = new int[41];
		int i = 0;
		for(i=0;i<text.length;i++) {
			text[i] = i + 10;
		}
		text[3] = 100;
		String one = Arrays.toString(text);
		System.out.println("1. 4번째 원소의 값을 100으로 변경하여 출력한 값");
		System.out.println(one);
		for(i=0;i<text.length;i++) {
			text[i] = 0;
		}
		String one2 = Arrays.toString(text);
		System.out.println("2. 모든 원소의 값을 0으로 초기화한 값");
		System.out.println(one2);
		
	}

}

'Bitcamp > BITCAMP - Java' 카테고리의 다른 글

9일차 - 과제  (0) 2019.07.05
9일차  (0) 2019.07.04
8일차 - 배열(2차원)  (0) 2019.07.03
8일차 - 배열(1차원)  (0) 2019.07.03
7일차 - 과제  (0) 2019.07.02
And