반응형
7. 정수를 10개 저장하는 배열을 만들고 1에서 10까지 범위의 정수를 랜덤하게 생성하여 배열에 저장하라. 그리고 배열에 든 숫자들과 평균을 출력하라. |
package chapter3;
import java.util.Scanner;
public class chapter3_7 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int arr[] = new int[10];
int sum = 0;
double ave = 0;
System.out.print("랜덤한 정수들: ");
for(int i = 0; i < 10; i++) {
arr[i] = (int)(Math.random()*10 + 1);
System.out.print(arr[i] + " ");
}
System.out.println();
for(int i = 0; i < 10; i++)
sum += arr[i];
ave = sum / 10.0;
System.out.println("평균은 " + ave);
scanner.close();
}
}
8. 정수를 몇 개 저장할지 키보드로부터 개수를 입력받아(100보다 작은 개수) 정수 배열을 생성하고, 이곳에 1에서 100까지 범위의 정수를 랜덤하게 삽입하라. 배열에는 같은 수가 없도록 하고 배열을 출력하라. |
package chapter3;
import java.util.Scanner;
public class chapter3_8 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int arr[];
System.out.print("정수 몇개?>>");
int num = scanner.nextInt();
arr = new int[num];
int count = 0;
for(int i = 0; i < num; i++) {
arr[i] = (int)(Math.random()*100 + 1); //1에서 100까지 난수 생성
for(int j = 0; j < i; j++) {
if(arr[i] == arr[j]) //같은 수가 있으면
i--; //난수 다시 만들기
}
}
for(int i = 0; i < num; i++) {
System.out.print(arr[i] + " ");
count++;
if(count % 10 == 0) System.out.println(); //10개 출력 되면 개행
}
scanner.close();
}
}
9. 4*4의 2차원 배열을 만들고 이곳에 1에서 10까지 범위의 정수를 랜덤하게 생성하여 정수16개를 배열에 저장하고, 2차원 배열을 화면에 출력하라. |
package chapter3;
public class chapter3_9 {
public static void main(String[] args) {
int arr[][] = new int [4][4];
int i, j;
for(i = 0; i < 4; i++) {
for(j = 0; j < 4; j++) {
arr[i][j] = (int)(Math.random()*10 + 1);
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}
10. 4*4의 2차원 배열을 만들고 이곳에 1에서 10까지 범위의 정수를 10개만 랜덤하게 생성하여 임의의 위치에 삽입하라. 동일한 정수가 있어도 상관없다. 나머지 6개의 숫자는 모두 0이다. 만들어진 2차원 배열을 화면에 출력하라. |
package chapter3;
public class chapter3_10 {
public static void main(String[] args) {
int arr[][] = new int [4][4];
int count = 0;
int i, j;
while(count < 16) {
count++;
i = (int)(Math.random()*4); //임의의 위치
j = (int)(Math.random()*4); //임의의 위치
if(arr[i][j] != 0) { //이미 값이 변경되어 있으면
count--; //다시 시도
continue;
}
if(count <= 10) //수 10개만 집어넣고
arr[i][j] = (int)(Math.random()*10 + 1);
else arr[i][j] = 0;
}
for(i = 0; i < 4; i++) {
for(j = 0; j < 4; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}
다시 보니 이미 0으로 초기화된 상태이니 count가 10이 될 때까지만 하면 될 것 같다. if else문이 없어도 될 듯.
11. 다음과 같이 작동하는 Average.java를 작성하라. 명령행 인자는 모두 정수만 사용되며 정수들의 평균을 출력한다. 다음 화면은 컴파일된 Average.class 파일을 c:\temp 디렉터리에 복사한 뒤 실행한 경우이다. 원본 Average.class 파일은 이클립스의 프로젝트 폴더 밑에 bin 폴더에 있다. |
package chapter3;
public class chapter3_11 {
public static void main(String[] args) {
int sum = 0;
double ave;
for(int i = 0; i < args.length; i++)
sum += Integer.parseInt(args[i]);
ave = sum / args.length;
System.out.println(ave);
}
}
12. 다음과 같이 작동하는 Add.java를 작성하라. 명령행 인자 중에서 정수만을 골라 합을 구하라. |
package chapter3;
public class chapter3_12 {
public static void main(String[] args) {
int sum = 0;
for(int i = 0; i < args.length; i++) {
try {
sum += Integer.parseInt(args[i]);
}
catch(NumberFormatException e) {}
}
System.out.println(sum);
}
}
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
<명품 JAVA Programming> - Chapter4 연습문제(1, 2, 3, 4, 5, 6) (0) | 2020.10.26 |
---|---|
<명품 JAVA Programming> - Chapter3 연습문제(13, 14, 15, 16) (0) | 2020.10.25 |
<명품 JAVA Programming> - Chapter3 연습문제(1, 2, 3, 4, 5, 6) (0) | 2020.10.25 |
<명품 JAVA Programming> - Chapter2 연습문제(7, 8, 9, 10, 11, 12) (0) | 2020.10.24 |
<명품 JAVA Programming> - Chapter2 연습문제(1, 2, 3, 4, 5, 6) (0) | 2020.10.24 |