My footsteps

code 실습 / 7️⃣ 본문

국비수업/CODE

code 실습 / 7️⃣

밀김 2023. 2. 24. 09:33
728x90

 

 

 

 

배열 복습

package ex3.control;
public class Simple {
	public static void main(String[] args) {
		
		//nums라는 이름의 정수 6개를 담을 수 있는 배열을 생성
		int[] nums = new int[6];
		//nums배열에 3번째 공간에 20을 대입하는
		//0부터 시작하니까..3번째 공간 = 2
		nums[2] = 20;
		//nums배열에서 3번째 공간의 값을 2번째 공간에 대입하는 코드를 작성
		nums[1] = nums[2];
		//nums배열에서 3번째 공간의 값보다 4번째 공간의 값이 더 크면 1번째 공간에 1을 대입하는 코드를 작성
		if(nums[2]<nums[3])
			nums[0] = 1;
		//nums배열의 1번째 공간부터 4번째 공간까지 1로 값을 채우는 코드를 작성
		for(int i=0; i<4; i++)
			nums[i]=i;
		//nums배열의 2번째 공간부터 4번째 공간까지 값을 2로 채우는 코드 작성
		for(int i=0; i<3; i++) { //234 니까 i<3
			nums[i+1]=2; //2부터 시작이니까 nums[i+1]
		
		}

	}

}

 

 

		//nums배열에서 5보다 큰값들을 출력하시오
		int[] nums = {2,3,42,4,5,56,32};
		
		for(int i=0; i<7; i++) {
			if(5<nums[i])
				System.out.println(nums[i]);
		}

 

 

		//nums에서 첫번째 5를 만나면 그 위치의 인덱스 값을 출력하시오
		
        {
			//1.배열에 들어간다 (for문)
			//2.5와 동일한 값을 찾고
			//3.i가 배열 방의 순서를 나타내는거니까 5를 만났을때(5==nums[i] 멈추는걸로(break) if문
			//4.index가 배열에 들어가서 값을 찾아야 하니까 index=i
			//5.마지막에 index값 출력
			int index = -1;
			for(int i=0; i<nums.length; i++) { 
				if(5==nums[i]) {
					index = i;
					break;
				}//if 
			}//for
			System.out.println(index);
		}//두번째문제

-1을 대입한 이유는, 저기서 값을 찾아진게 없을때 0을 반환해버리면 안되니까(0으로 하면 자릿수가0인줄 앎) 마이너스 값을 기본값으로 대입한것이다.

 

 

 

//nums 배열의 값들 의 총합을 구해서 출력하시오
{
	int total = 0;
			
	for(int i=0; i<nums.length; i++) {
		total += nums[i];
			//nums배열의 총합을 계속 누적해서 토탈에 넣어야 하니까 +=
	}
	System.out.printf("total is %d\n",total);
			
}

 

 

 

		
		//nums배열의 뒤에서부터 만나는 "첫번째 5"의 인덱스를 (구하고) 출력하시오.
        {
			int index = -1;
			for(int i=0; i<nums.length; i++) { 
				if(nums[nums.length-1-i] == 5) {
				//nums뒤에서부터 앞으로 가는거니까 -i를 해주고 
				//nums.length-1 이유는,배열의 길이는 12인데 배열 시작은 0부터 하니까 -1을 해줘야함
					
					index = nums.length-1-i;
					break;
				}//if 
			}//for
			System.out.println(index);
			
		}

 

 

 

//		//nums배열에서 첫번째 5를 인덱스를 구하시오. 그리고 그 이후의 값을 모두 출력하시오.
		{
			int index = -1;
			for(int i=0; i<nums.length; i++) { 
				if(5==nums[i]) {
					index = i;
					break;
				}//if 
			}//for
			//
			for(int i=0; i<nums.length; i++) {//배열의 자릿수값
				if(index<i) {
				//index의 값은 이미 위에서 들어와있다.(5의 자릿수값=인덱스)
				//문제가,5의자리의 뒷자리의 값들을 출력하는 거니까 index<i
					System.out.println(nums[i]);
				//출력할때 그냥 i를 하면 자릿수들이 출력이 되니까,배열 자체를 출력해줘야함.
				}
			}
			
		}

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

'국비수업 > CODE' 카테고리의 다른 글

🕺보이즈 플래닛 시나리오🕺 / 최종 코드  (0) 2023.02.24
code 실습 / 8️⃣  (0) 2023.02.24
code 실습 / 6️⃣  (0) 2023.02.23
code 실습 / 5️⃣  (0) 2023.02.22
code 실습 / 4️⃣  (0) 2023.02.21