2022.11.07 JAVA 8일차 배열2

2022. 11. 21. 21:37JAVA

배열

같은 데이터 타입을 연속적으로 사용할때 사용
연속적인 메모리에 넣기위해

선언방법

타입[] 변수이름; OR 타입 변수이름[];
예)
int[] score = new int[5];

참조형 변수는 항상 null로 초기화 시켜줌

		/*
		 * 문제) 문자 10개를 저장할수있는 배열을 선언하고 10개의 문자를 입력받아
		 * 입력받은 문자를 이어서 출력하는 프로그램
		 * 입력예)
		 * A B C D E F G H I J
		 * 출력예)
		 * ABCDEFGHIJ
		 * 단, 문자입력은 next().charAt(0);
		 */
		
		char alp[] = new char[10];
		int i ;
				
		System.out.println("문자입력");
		for(i = 0; i < alp.length; i++)
		{
				alp[i] = sc.next().charAt(0);
		}
		
		for(i = 0; i < alp.length; i++)
		{
			System.out.print(alp[i]);

 

		/*
		 * 문제)연도와 월을 입력받아 해당 월의 날수를 출력하다가 월이 0이면 종료하는 프로그램
		 * 단, 윤년은 400년에 한번씩, 4년에 한번이면서 100년은 제외
		 * 입,출력예)
		 * 년 : 2000
		 * 월 : 2
		 * 입력하신 달의 날수는 29일 입니다.		//days[month] 
		 * 
		 * 년 : 2022
		 * 월 : 13
		 * 잘못 입력하셨습니다.
		 * 
		 * 년 : 2022
		 * 월 : 0
		 */
		
		int days[] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; 
		int year,month;
		
		while(true)
		{
			days[2] = 28;
			System.out.print("년 : ");
			year = sc.nextInt();
			System.out.print("월 : ");
			month = sc.nextInt();
				
			if(month == 0)
				break;
			
			if(month > 12 || month < 0)
			{
				System.out.println("잘못 입력하셨습니다.\n");
				continue;
			}	
			
			if((year % 400 == 0)||(year % 100 != 0 && year % 4 == 0))
			{
				days[2] = 29;
			}
			System.out.printf("입력하신 달의 날수는 %d일 입니다.\n\n",days[month]);
		}

 

		/*
		 * 문제) 10개의 정수를 입력받아 그 중 가장 큰 수를 출력하는 프로그램
		 * 입력예)
		 * 5 10 8 55 6 30 12 24 61 2
		 * 출력예)
		 * 61
		 * 단,출력은 max 변수 사용
		 */
		
		int i,j,max = 0, a[] = new int[10];
		System.out.print("정수입력");
		
		for(i = 0; i < a.length; i++)
		{
			a[i] = sc.nextInt();
			if(a[i] > max)
			{
				max = a[i];
			}
		}
		
		System.out.println(max);