JAVA

배열문제 ①

record2080 2025. 1. 2. 18:15

문제) 사용자가  얼만큼 입력할지 정하고, 값들을 저장하는데 입력한 값이 짝수면 저장하지 않고,

모두 저장되었다면 정수를 하나 더 입력 받아서, 해당 번째에 저장된 정수를 출력하세요.

package class07;

import java.util.Scanner;

//사용자가  얼만큼 입력할지 정하고, 값들을 저장하는데 입력한 값이 짝수면 저장하지 않고,
//모두 저장되었다면 정수를 하나 더 입력 받아서, 해당 번째에 저장된 정수를 출력하세요.
public class Test04 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int len; // 범위

		while(true) { //얼만큼 입력할지 모르기 때문에 while
			System.out.print("배열의 길이 입력>> ");
			len=sc.nextInt();// 스캐너로 정수를 입력하게 함
			if(len>0) {//만약 배열의 길이가 0이상이면 반복하지 않고 나간다
				break;
			}
			System.out.println("배열의 길이를 다시 입력해주세요.");
		} //사용자가 얼만큼 입력할지 정함

		int[] datas=new int[len];
		for(int i=0;i<datas.length;i++) { //범위를 알때
			while(true) { //범위를 모를때
				datas[i]=sc.nextInt();
				if(datas[i]%2==1) {//홀수라면 
					break;
				}
				System.out.println("홀수만 입력가능합니다.다시 입력해주세요");
			}
		}//값이 짝수면 저장하지 않는 조건까지 완료
		
		
		int num; // 정수를 하나 더 입력 //순서변수
		while(true) {
			System.out.println("몇번째 데이터를 출력할까요?");
			num=sc.nextInt();
			if(1<=num&&num<=datas.length ) {//만약 입력한 숫자가 1,1보다 크고 
				//배열의 길이와 같거나 작을 때
				break;
			}
			System.out.println("배열에 존재하지 않는 인덱스넘버입니다.다시 입력해주세요");
			
		}
		 for(int v:datas) {
			 System.out.print(v+" ");
		 }
		 System.out.println();
		 System.out.println(datas[num-1]);
		                      //datas[1];//인덱스는 0부터 시작하기 때문에 -1을 해줘야 함
	}
}

 

 

'JAVA' 카테고리의 다른 글

자바- 객체 지향 언어의 특징  (0) 2025.01.10
버블배열 (BUBBLE)  (0) 2025.01.04
IF~Else <홀수와 짝수 구하기>  (0) 2025.01.02
369게임  (0) 2025.01.01
While문을 이용한 랜덤뽑기  (0) 2024.12.31