자바 별찍기

자바 별찍기

작성일 2024.04.25댓글 2건
    게시물 수정 , 삭제는 로그인 필요

직각삼각형 별찍기에서
높이와 너비가 달라도 삼각형 모양으로 출력이 되도록 하는 방법은 뭔가요?
한줄씩 찍으면서 내려오는 경우는 이등변만 구현이 가능한 듯 합니다...


#자바 별찍기 #자바 별찍기 원리 #자바 별찍기 심화 #자바 별찍기 다이아몬드 #자바 별찍기 역삼각형 #자바 별찍기 마름모 #자바 별찍기 피라미드 #자바 별찍기 if #자바 별찍기 while #자바 별찍기 공백

profile_image 익명 작성일 -

직각삼각형 별찍기에서 높이와 너비가 서로 다른 비율을 가지는 삼각형을 출력하려면, 각 줄에 출력하는 별의 개수를 계산할 때 높이와 너비의 비율을 고려해야 원하는 모양의 삼각형을 조절하여 출력할 수 있습니다.

중요한 점은 각 줄마다 별의 개수를 높이 대비 얼마나 늘릴지를 결정하는 것입니다

예를 들어, 높이가 5이고 너비가 10인 직각삼각형을 출력하고자 한다면, 각 줄마다 별의 수는 이전 줄보다 더 많아야 하며, 전체적인 너비를 넘지 않도록 계산해야 합니다.

아래에 자바 코드 예시를 들어 설명드리겠습니다

public class TriangleStars {

public static void main(String[] args) {

int height = 5; // 삼각형의 높이

int width = 10; // 삼각형의 최대 너비

// 각 줄에 별이 몇 개씩 찍힐지 계산

for (int i = 1; i <= height; i++) {

// i번째 줄의 별 개수를 계산 (예: 높이 대비 현재 줄의 위치 비율 * 너비)

int stars = (int) Math.ceil((double) i / height * width);

// 실제로 별을 찍는 부분

for (int j = 0; j < stars; j++) {

System.out.print("*");

}

// 한 줄이 끝나면 줄바꿈

System.out.println();

}

}

}

위의 코드는 높이(height)와 너비(width)를 기반으로 각 줄마다 찍히는 별의 수를 계산하도록 했습니다.

Math.ceil 함수를 사용해서 별의 수가 소수점이 나오는 경우에도 다음 정수로 올려서 출력하도록 했습니다.

위에 따라 각 줄의 별 개수가 점점 증가하여 너비를 초과하지 않는 범위에서 최대한 많은 별을 출력하게 될겁니다.

profile_image 익명 작성일 -

자바로 높이와 너비가 다른 직각삼각형을 별로 찍는 코드를 작성해 보겠습니다. 자바에서는 Math.ceil 함수를 사용하여 각 행의 별 개수를 계산하고, 그 결과에 따라 별을 출력합니다. 아래 코드는 직각삼각형을 별로 찍는 간단한 Java 프로그램입니다.

public class RightTriangle { public static void main(String[] args) { int height = 5; // 높이 int width = 10; // 너비 drawRightTriangle(height, width); } public static void drawRightTriangle(int height, int width) { for (int i = 1; i <= height; i++) { int starsCount = (int) Math.ceil((double) width * i / height); for (int j = 0; j < starsCount; j++) { System.out.print("*"); } System.out.println(); } } }

이 프로그램은 RightTriangle 클래스를 정의하고, main 메서드에서 drawRightTriangle 메서드를 호출하여 높이가 5, 너비가 10인 직각삼각형을 별로 출력합니다. 각 행마다 계산된 별의 개수(starsCount) 만큼 별을 출력하고, 각 행이 끝날 때마다 줄바꿈을 합니다.

Math.ceil 함수를 사용해 별의 개수를 계산할 때, width * i / height 결과를 double 타입으로 명시적으로 형 변환한 후 올림 처리를 하고, 다시 int 타입으로 변환하여 정수의 개수로 만듭니다. 이 방식은 주어진 높이에 따라 너비가 증가하는 직각삼각형을 정확하게 출력하게 도와줍니다.

자바 에서 별찍기

안녕하세여 자바에서 별모양으로 공백을활용해 for문으로 피라미드인지 역피라미드인지... 별찍기 프로그램을 만든다고 하면, 먼저 이 문제를 어떻게 풀까 분석을 해야 하고...

자바스크립트 별찍기 문제 질문

... 자바스크립트 별찍기 문제에 대해 질문하셨네요. 일단 구글링을 통해 별찍기 문제를 찾아보시는 거는 좋은 습관이에요! 하지만 답변이 복잡해 보일 때가 있어서 조금...

자바 별찍기 프로그램 질문

지금 자바 별찍기 프로그램을 짜는중인데 이해가 안 가는부분이 있어서 질문드립니다 . import java.util.Scanner; public class Main { public static void...

자바 별찍기 문제

public static void main(String[] args) { for(int i=1; i<=5; i++) { for(int a=1; a<i; i++) { System.out.print(" "); } for(int b=5; b>=i; b--) { System.out.print("*"); } System....

자바 별찍기 코드 질문

import java.util.Scanner; public class example { public static void main(String args[]) { Scanner scanner = new Scanner(System.in); System.out.print("행의 개수 : "); int row...

자바 별찍기(마름모모양)

자바별찍기 하는데요 for문 이중루프로 for문 6개~8개 사용해서 찍을 줄은 알겠는데 for문 2개+삼항연산자를 이용해서 찍는 방법...

자바 별찍기 코드 질문

import java.util.Scanner; public class example { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("행의 개수 : "); int row...

자바 별찍기

자바 별찍기 중에 피라미드 모양으로 하는건데요 public static void pyramid() { for(int j = 0; j < 5; j++) { // 세로로 5단 반복 for(int i= 0; i < 5+j; i++) { // 가로...



    test ad