난 우리조 자바 초급자니깐 ☆
알파벳(A~Z) 까지 출력하는 프로그램을 작성하세요
(for 문을 사용하세요)
for(char alphabet =65; alphabet<=90; alphabet++) {
System.out.print(alphabet + " ");
}
System.out.println();
1~100까지 10행 10열로 출력하는 프로그램을 작성하세요
(for문을 사용하세요)
ex)
1 2 3 4 5 6 7 8 9 10
11 12 13 .....
91 92 93 94 ... 100
for(int i = 1; i <= 100; i++) {
System.out.printf(" %d", i);
if(i%10 == 0) System.out.println();
}
System.out.println();
두개의 주사위를 던졌을 때 눈의 합이 6이 되는 모든 경우의 수를 출력하는 프로그램을 작성하세요
int answer=0;
for(int i=1; i<=6; i++) {
for(int j=1; j<=6; j++) {
if(i+j == 6) answer += 1 ;
}
}
System.out.println("answer : "+ answer);
정수 한개를 입력 받고, 입력받은 정수를 밑면과 높이로 하는 오른쪽이직각인 삼각형 별을 만드세요.
Scanner sc = new Scanner(System.in);
System.err.print("삼각형의 밑변 입력 : ");
int num1 = Integer.parseInt(sc.nextLine());
for(int i=num1; i>= 1; i--) {
for(int j=1; j<=i; j++) {
System.out.printf(" ");
}
for(int j=0; j<=num1-i; j++) {
System.out.printf("*");
}
System.out.println();
}
사실 이러면 별삼각형 왼쪽이 공백 포함되어있어서 의도한 풀이가 아니다.
위 그림처럼 왼쪽에 딱 붙은 오른쪽이 직각인 삼각형을 만들기 위해서는 (입력한 수)-(별수) 만큼의 공백이 필요하다.공백은 n-1번만 반복하고 별은 n번 반복하게 하면된다.
for(int i=num1; i>= 1; i--) {
if(i !=1) {
for(int j=1; j<=i-1; j++) {
System.out.printf(" ");
}
}
for(int j=0; j<=num1-i; j++) {
System.out.printf("*");
}
System.out.println();
}
정수 한개를 입력 받고, 입력받은 정수를 밑면과 높이로 하는 역삼각형 별을 만드세요.
for(int i=num1; i>= 1; i--) {
for(int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
정수 한개를 입력 받고, 입력받은 정수를 높이로 하는 꼬불한 크리스마스 트리(사진 참고)를 만드세요.
int n = 9;
System.out.println("input value : " + n);
System.out.println();
for(int i= 1; i<=n; i++) {
for(int j=i; j<=n; j+=2) {
System.out.print(" ");
}
for(int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
UNIT : 화폐단위
num : 화폐매수
SW : 스위칭 변수 , 화폐의 다음 단위를 위해
MONEY : 입력받는 금액
아래 코드는 금액을 입력받아
예)
12345
10000 1개
5000 0개
1000 2개
500 0개
100 3개
50 0개
10 4개
5 1개
1 0개
를 계산하는 프로그램 입니다
플로 차트를 읽고 코드를 짜보았다.
계산, 출력 시작지점과 반복문 시작지점이 달라서 플로 차트 그대로 코드를 짤때 헷갈렸다.
int unit = 10000;
int num = 0;
int sw = 0;
Scanner sc = new Scanner(System.in);
System.out.println("MONEY입력");
int MONEY = Integer.parseInt(sc.nextLine());
num = (int) ( MONEY/unit);
System.out.printf("MONEY: %d unit: %d 개 ", unit, num);
System.out.println();
do {
if(unit > 1 ) {
MONEY=MONEY - unit*num;
if(sw == 0) {
unit=unit/2;
sw=1;
}else {
unit = unit/5;
sw=0;
}
}
num = (int) ( MONEY/unit);
System.out.printf("MONEY: %d unit: %d 개 ", unit, num);
System.out.println();
}while(unit > 1); // 공부! : do while 문은 do 블록 끝까지 내려온 후 조건을 확인한다.
//Test case ; 98766 66666 98733 12345
다른사람 풀이 참고
1. 플로차트에 준수
2. 아래 코드
if(!(unit > 1)) {
break;
}
이부분!!
Scanner sc = new Scanner(System.in);
int unit = 10000;
int num = 0;
int sw = 0;
int money = Integer.parseInt(sc.nextLine());
while(true) {
num = money / unit;
System.out.println("unit : " + unit);
System.out.println("num : " + num);
if(!(unit > 1)) {
break;
}
money = money - unit * num;
if(sw == 0) {
unit = unit / 2;
sw = 1;
} else {
unit = unit / 5;
sw = 0;
}
}
String str = "123";
int strToInt = Integer.parseInt(str);
반대 기본 => 문자열로
String str = String.valueOf();
생성한 클래스안의 지역변수
// cmd 모드 (console 창에서 ) 사용자가 입력한 값을 read ....
// 설계도 == 클래스 == 타입 은 사용하고 싶다면 heap 에 올린다.
Scanner sc = new Scanner(System.in); //(): 생성자 함수를 호출하는 괄호~ / in : static final 출력에 사용되는 자원
// String value = sc.nextLine(); // 입력하고 enter 칠때까지 대기 (프로그램이 종료되지 않고 계속 대기)
// System.out.println("value 입력값 : " + value);
/*
int number = sc.nextInt(); // 사용자가 입력한 값을 정수로 변환 return 하는 함수
System.out.println(number);
// 에러 =) 예외
float fnumber = sc.nextFloat();
되도록이면
권장사항) nextInt, nextFloat 보다는 모든 데이터를 nextLine()으로 read 해서
Integer.parseInt() 등으로 바꾸는 것이 낫다.
Today Point
[문자를] -> 숫자로(정수, 실수)
String data = sc.nextLine();
int idata = Integer.parseInt(data);
Integer.parseInt("10000") => 10000 으로 반환됨
Float.parseFloat("3.14") => 3.14
*/