본문 바로가기

JAVA

(별찍기) 마름모 절반 세로 오른쪽부분

import java.util.Scanner; 
public class Ex07 { 
public static void main(String[]args) { 
Scanner scanner = new Scanner(System.in); 
System.out.println("====별찍기 7번===="); 
System.out.print("출력할 줄 수를 입력해주세요:"); 
int userNumber = scanner.nextInt(); 
//총 세로줄수가 얼마인가? 
//4+5, 5+6... 
//(userNumber-1)+userNumber 

for(int height = 1; height <= 2*userNumber-1/* = (userNumber-1)+userNumber */; height++) { 
String stars = ""; 
//height가 userNumber -1 보다 작거나 같은동안 혹은 userNumber보다 작은 동안 

if(height < userNumber) { 
//윗부분 
for(int width = 1; width <= height; width++) { 
stars +="*"; 
} 

}else { 
//height가 userNumber보다 같거나 클 동안 
//=아랫부분 
//우리가 userNumber = 5 라고 하면 
//height이 얼마일동안 여기로 오는가? 
//if조건이 아닌5,6,7...가 else로 오게된다 
//그렇다면 
//for(int width = height; width <= userNumber; width++) 
//으로 쓰게되면 해당 for문은 각각 몇번 반복할까? 
//1,0,0,0....반복된다. 
//그러면 어떻게 해결해야 할까? 
//만약 우리가 변수를 아예 못만들면 머리가 아프겠지만 
//변수를 만들어주면 된다 

//이 height를 축구 분으로 생각하면 
//어떤 방송사는 축구경기 중계할 때 시간을 
//1~90분 으로 표시하는 곳이 있고 전반 1~45로 표시하는 곳이 있다 
//우리는 위에 height는 그대로 놔두고 
//아래 "lowerHeight" 1번째 줄 이렇게 만드는것 
int lowerHeight = height - userNumber + 1; 
for(int width = lowerHeight; width <= userNumber; width++) { 
stars += "*"; 
} 
} 

System.out.println(stars); 

} 


scanner.close(); 
} 
} 

'JAVA' 카테고리의 다른 글

(별찍기) 마름모  (0) 2020.04.23
(별찍기) 마름모 절반 세로 왼쪽부분  (0) 2020.04.23
(별찍기) 역 정삼각형  (0) 2020.04.23
(별찍기) 정삼각형  (0) 2020.04.23
(별찍기) 오른쪽 아래가 직각인 삼각형  (0) 2020.04.23