[문제]
printTriangle 메소드는 양의 정수 num을 매개변수로 입력받습니다. 다음을 참고해 *
(별)로 높이가 num인 삼각형을 문자열로 리턴하는 printTriangle 메소드를 완성하세요 printTriangle이 return하는 String은 개행문자(‘\n’)로 끝나야 합니다.
[문제 풀이 실패 ]
package programs;
public class PrintTriangle {
public String printTriangle(int num){
String star= "*";
String result = "";
int i = 0;
while (i < num) {
int j = 0;
while (j < i+1) {
j = j + 1;
result = result+star;
}
i = i + 1;
result =result+ "\n";
}
return result;
}
public static void main(String[] args) {
PrintTriangle pt = new PrintTriangle();
System.out.println( pt.printTriangle(5) );
}
}
리턴의 개념을 제대로 이해하지 못해서, 값을 리턴해내지 못함, 다른 접근 방법과 리턴에 대한 개념에 대해 다시 공부할 필요가 있음
|
[다른사람 문제풀이 ]
package programs;
public class PrintTriangle {
public String printTriangle(int num){
String stars= "*";
String result = "";
for(int i=0; i<num; ++i){
//result 에 저장
result += stars+"\n";
stars += "*";
}
return result;
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args) {
PrintTriangle pt = new PrintTriangle();
System.out.println(pt.printTriangle(5));
}
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
[다른사람 풀이 2 ]
public class PrintTriangle {
public String printTriangle(int num){
String result = "";
for(int i=1; i<=num; i++){
String star = new String(new char[i]).replace("\0", "*");
result += star + "\n";
}
return result;
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args) {
PrintTriangle pt = new PrintTriangle();
System.out.println(pt.printTriangle(3) );
}
}
String star = new String(new char[i]).replace("\0", "*");
위의 구문에 대한 공부가 필요함
public class PrintTriangle { public String printTriangle(int num){ String result=""; for(int i=1; i<=num; i++){ for(int j=0; j<i; j++){ result+="*"; } result+="\n"; } return result; } // 아래는 테스트로 출력해 보기 위한 코드입니다. public static void main(String[] args) { PrintTriangle pt = new PrintTriangle(); System.out.println( pt.printTriangle(3) ); } }
'알고리즘' 카테고리의 다른 글
서울에서김서방찾기 (0) | 2018.02.22 |
---|---|
수박수박수박수박수박수? (0) | 2018.02.22 |
가운데 글자 가져오기 (0) | 2018.01.23 |
역삼각형 출력하기 (0) | 2018.01.14 |
약수의 모든 합을 구하시오. (0) | 2018.01.14 |