자바 코딩

배열 연습문제2

akasha.park 2023. 3. 10. 17:37
Quiz5> 6개의 문자배열을 만들고 {'D', 'B', '&', 'H', 'T', 'M', 'L'} 으로 초기화 한 후 문자 한 개를 입력받아 배열에서의 위치를 출력하는 프로그램 구현
첫 번째 위치는 0번이며 배열에 없는 문자가 입력되면 "none" 라는 메시지를 출력하고 끝내는 프로그램을 작성하시오
입력 예) L
출력 예) 6
package lab.java.basic;

import java.util.Scanner;

public class Quiz5 {
	public static void main(String[] args) {
		char  [] characters = new char[ ] {'D', 'B', '&', 'H', 'T', 'M', 'L'} ;
		Scanner input = new Scanner(System.in);		
		while(true) {
			System.out.print("찾을 문자 입력>>");
			String search = input.next();
			boolean flag = false;	
			char ch = search.charAt(0);
			for(int i=0;i <characters.length;i++) {	
				if(characters[i]==ch) {
				System.out.println(search.charAt(0)+"의 위치는 "+ i );
				flag = true;				
			     }				
		     }	//for end
			if (!flag) {
				System.out.println("none");
				break;
			}
	    }//while end
	}//main end
}//class end



 

Quiz6>세 자리 이하의 정수를 차례로 입력 받다가 999가 입력되면 프로그램을 종료하고 그 때까지 입력된 최대값과 최소값을 출력하는 프로그램 구현
입력받는 정수는 100개 이하이다.
입력 예) 45 19 123 58 10 -55 16 -1 999
출력 예) 	max : 123 
	min : -55
package lab.java.basic;

import java.util.Scanner;

public class Quiz6 {
	public static void main(String[] args) {
		int  [] nums = new int[100];
		Scanner input = new Scanner(System.in);
		int last = 0;
		for(int i=0;i< nums.length;i++) {
			System.out.print("입력>>");
			nums[i] = input.nextInt();
			if(nums[i]==999) {
				last = i;
				break;
			}
		}		 	 
		int max= nums[0];
		int min = nums[0];
		for(int i=1;i<last;i++) {
			if(max< nums[i]) max=nums[i];
			if(min>nums[i]) min=nums[i];
		}	
		System.out.println("max="+max);
		System.out.println("min="+min);
	}

}


Quiz7> 정수를 입력받다가 0 이 입력되면 0 을 제외하고 그 때까지 입력 받은 개수를 출력한 후 입력받은 정수를 차례로 출력하되 그 수가 홀수이면 2배한 값을, 짝수인 경우에는 2로 나눈 몫을 출력하는 프로그램 구현
입력되는 정수의 개수는 100개 이하이다. 
입력 예) 8 10 5 15 100 0
출력 예) 5
             4 5 10 30 50

package lab.java.basic;

import java.util.Scanner;

public class Quiz7 {
	public static void main(String[] args) {
		int  [] nums = new int[100];
		Scanner input = new Scanner(System.in);
		int last = 0;
		for(int i=0;i< nums.length;i++) {
			System.out.print("입력>>");
			nums[i] = input.nextInt();
			if(nums[i]==0) {
				last = i;
				break;
			}
		}		 
		
		System.out.println("입력받은 정수 개수="+last);
		for(int i=0;i<last;i++) {
			if (nums[i]%2==0) {
				System.out.print(" "+nums[i]/2);
			}else {
			    System.out.print(" "+nums[i]*2);
			}
		}	
		
	}

}