Test/JAVA Test

중복 허용 정수 값 구하기

오류나면꽥꽥 2023. 5. 22. 21:59

중복허용

정수를 입력합니다. 0을 입력하면 종료됩니다.
프로그램이 종료되었을때
현재까지 이렵한 정수들의 평균을 출력
_._ 입니다.
입력한 정수중에서 짝수가 몇개인지 출력해주세요
짝수는 _개 입니다.

해당 컬렉션에 짝수만 남겨서 출력해주세요.

 

 

package class02;

import java.util.ArrayList;
import java.util.Scanner;

public class Test02 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		//		배열은 개수가 정해져 있어야 하는데 그게 안되어 있으니까 못쓴다
		//		=> 배열리스트 써야함
		ArrayList<Integer> data=new ArrayList<Integer>();


		while(true) { // 무한루프
			System.out.print("입력) ");
			int num=sc.nextInt(); // 입력값

			if(num==0) { // 종료조건
				System.out.println("0을 입력하여 프로그램이 종료되었습니다.");
				break;
			}
			data.add(num);
		}

		int sum=0;
		/*
	      for(int i=0;i<data.size();i++) {
	         sum+=data.get(i);
	      }
		 */


		for(int v:data) {
			sum+=v;
		}
		double avg=sum*1.0/data.size();
		System.out.println("평균: "+avg);



		// 처음주터 끝까지 돌면서
		// data의 모든 요소를 확인할거야~
		// [a b c] 요소 b를 삭제
		// [a c] 삭제한 인덱스부터 재확인!
		
		// 이상하다면, 디버깅표를 작성해서 -> 원인 파악

		int index=0;

		while(index<data.size()) { // 인덱스부터 데이터 끝까지
			if(data.get(index)%2==0) { //삭제해야하는 일이 발생했다면 -> 데이터 짝수니?
				data.remove(index);
				continue;
			}
			index++;
		}
		System.out.println(data);


	}
}