문제
이차원배열의 크기를 1~10까지 입력받아 랜덤으로 알파벳 소문자 넣기, 단, 범위를 벗어나면 "반드시 1~10 사이의 정수를 입력해야 합니다." 출력 후 정수를 다시 입력 받도록 작성하시오
- 2차원 배열로 만들기, 각 자리에 랜덤값으로 넣기
package jongkyu.array11;
import java.util.Random;
import java.util.Scanner;
public class array12 {
Scanner sc = new Scanner(System.in);
Random r = new Random();
public void array2() {
while(true) {//값을 계속 반복시킨다.
System.out.print("가로행의 개수를 입력하세요(1~10) ==>");
int garo = sc.nextInt();
if(garo>10) {//10보다 큰값이 들어가면 다시 입력받도록 문제가 되어있다.
System.out.println("반드시 1~10 사이의 정수를 입력해야 합니다.");
continue;//continue를 써준이유는 10보다 클경우 다시 입력받기 위해서이다.
}
System.out.print("세로열의 개수를 입력하세요(1~10) ==>");
int sero = sc.nextInt();//세로값을 입력한다.
if(sero>10) {//세로값이 10보다 크면 다시 입력받도록 되어있다.
System.out.println("반드시 1~10 사이의 정수를 입력해야 합니다.");
continue; //continue를 써준 이유는 10보다 클경우 다시 입력받기 위해서이다.
}
char [][]arr = new char[sero][garo];//입력한 값으로 배열이 생성되었다.
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
arr[i][j]=(char)(r.nextInt(26)+97);//이중for문을 써서 a~z까지 랜덤으로 넣기로 했다.
}
}
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
System.out.print(arr[i][j]+"\t");//이중배열을 출력하는 문구이다.
}
System.out.println("");
}
}
}
}
'IT일반과목 > java' 카테고리의 다른 글
자바 예외 처리 (0) | 2018.07.18 |
---|---|
2차원배열 실습문제 (0) | 2018.07.18 |
자바 이중배열 달팽이 배열 (0) | 2018.07.17 |
자바 싱글톤(Singleton) (0) | 2018.07.16 |
정적 멤버와 static (0) | 2018.07.16 |