문제1) 사용자가 얼만큼 입력할지 정하고, 값들을 저장하는데 입력한 값이 짝수면 저장하지 않음
모두 저장됐다면 정수를 하나 더 입력받아서, 해당번째에 저장된 정수를 출력하세요
<한글코딩>
while(true) { //얼만큼 반복할 지 모름.
int len; //사용자가 입력하는 배열의 길이;
if(종료조건. 제대로 입력했다면)
break;(멈춤)
}
Sysout. // 그게 아니면 다시 입력하라고 출력
}
for (int i=0; i<배열의 길이;i++) {
while(true) {
if(홀수를 저장했다면) {//종료조건
멈춤;
}
Sysout. 다시입력하세요
}
}
while(true) {
int num; //정수를 사용자로부터 입력받음
if(제대로 입력했다면) {// 정수를 입력했다면
멈춤;
}
Sysout. 다시 입력하세요;
}
Sysout. [num-1] 인덱스 출력 //인덱스는 0부터 시작이다
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int len; // scope 이슈 해결
while(true) {
System.out.print("배열의 길이 입력 >> ");
len=sc.nextInt();
if(len>0) {
break;
}
System.out.println("배열의 길이는 1이상이어야만 합니다");
}
int[] datas=new int[len];
for(int i=0;i<datas.length;i++) {
while(true) {
System.out.print((i+1)+"번째 데이터 입력 >> ");
datas[i]=sc.nextInt();
if(datas[i]%2==1) { // 종료조건
break;
}
System.out.println("홀수만 입력가능합니다");
}
}
int num; // scope 이슈 해결
while(true) {
System.out.print("몇번째 데이터를 출력할까요? >> ");
num=sc.nextInt();
if(1<= num && num<=datas.length) {
break;
}
System.out.println("배열에 존재하지않는 인덱스넘버입니다");
}
for(int v:datas) {
System.out.print(v+" ");
}
System.out.println();
System.out.println(datas[num-1]);
}
}
문제2) 1부터 100까지 5번 중복없이 저장해주세요
public static void main(String[] args) {
Random rand=new Random();
int[] datas=new int[5];
//i랑 j를 비교
for(int i=0;i<datas.length;i++) {
while(true) {
datas[i]=rand.nextInt(10)+1; //1부터 10까지
boolean flag=false; //중복이 아닌 상태
for(int j=0;j<i;j++) { //내 바로 앞 인덱스까지
if(datas[i]==datas[j]) { //중복??
flag=true; //중복이면
break;
}
}
if(!flag) { //중복이 아니면
break;
}
}
}
}
'JAVA > 코드' 카테고리의 다른 글
JAVA의 메소드 유형 (0) | 2025.02.02 |
---|---|
정렬 - 선택, 버블, 삽입 (0) | 2025.01.30 |
강의 3일차 문제풀기- 반복문 (0) | 2025.01.30 |
강의 2일차 문제풀기 - 반복문 (0) | 2025.01.30 |
강의 2일차 문제풀기- 조건문 (0) | 2025.01.29 |