/* - 지질학자는 토양샘플 분석을 도와주는 프로그램을 원함
- 이 프로그램은 샘플내 성분 종류와 각 성분의 함량을 실행인자로 받음
- 첫 번째 인자는 토양내 성분 이름이며 "," 로 구분되어 있음
- 두 번째 인자는 각 성분의 함량 정보이며 2차원 정보로 구성됨
- 각 열은 "<>" 로 구분되어 있으며, 각 행은 "," 로 구분되어 있음
- 실행 시 입력인자는 다음과 같음
carbon-dioxide,magnesium,sodium,potassium,chloride,water //성분 종류
8.3,4.5,6.7,2.3,12.5,4.5<>
3.9,1.8,34.7,23.5,1.2,14.3<>
6.7,7.4,1.5,18.4,7.2,23.7<>
23.4,5.6,2.9,18.5,39.5,18.2<>
15.4,5.3,27.4,9.8,3.8,27.4
- 각 샘플명을 가져오는 getElements 메서드를 다음과 같이 작성하시오
public static String[] getElements(String inputElementString)
- 각 샘플 함량을 2차원 배열로 저장하여 반환하는 getSamples 메서드를 다음과 같이 작성하시오
public static double[][] getSamples(String inputElementString)*/
package com.gyuone.homework;
public class MarsSoil {
public static void main(String[] args) {
String[] elements = getElements(args[0]);
printElement(elements);
System.out.println();
double[][] samples = getSamples(args[1]);
printSamples(samples);
}
public static String[] getElements(String inputElementString) {
return inputElementString.split(","); // 샘플명을 가져와서 , 로 쪼개기
}
public static double[][] getSamples(String inputElementString) {
String[] rowSamples = inputElementString.split("<>"); // <> col 나눔
String[] columnSamples = rowSamples[0].split(","); // row 나눔
double[][] samples = new double[rowSamples.length][columnSamples.length];
for (int i = 0; i < samples.length; i++) {
String[] temp = rowSamples[i].split(",");
for (int j = 0; j < samples[i].length; j++) {
samples[i][j] = Double.parseDouble(temp[j]);
}
}
return samples;
}
public static void printElement(String[] array) {
for (String element : array) {
System.out.println(element);
}
}
public static void printSamples(double[][] samples) {
for (double[] row : samples) {
for (double element : row) {
System.out.printf("%2.1f ", element);
}
System.out.println();
}
}
}
'IT > JAVA' 카테고리의 다른 글
[55일차] JAVA 알고리즘 문제풀이 04 (0) | 2022.09.07 |
---|---|
[19일차] JAVA (0) | 2022.07.14 |
[18일차] JAVA 알고리즘 문제풀이 1 (0) | 2022.07.13 |
[18일차] JAVA 컬렉션 프레임워크 (0) | 2022.07.13 |
[17일차] JAVA Programmers 개념정리 (0) | 2022.07.12 |
댓글