일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 국비지원JAVA
- 국비지원#국비교육
- Java#java#메모리영역#클래스로더#가비지컬렉터
- Spring#spring#스프링#스프링프레임워크#스프링자동주입#스프링생성자#스프링기본#국비지원#국비교육#국비지원스프링
- java
- 자바
- html#HTML#프론트엔드#개발자#코딩#국비지원#국비교육#국비지원프론트엔드#국비지원HTML#국비지원html#국비프론트엔드
- Java#정처기#비트연산자#정보처리기사
- 프로그래밍
- #
- #java#JAVA#프로그래밍#웹개발자
- Java#java#자바#다오#디티오#브이오#dao#dto#vo
- db#데이터베이스#오라클#sql
- 자바#Java#배열예시#연습#기초다지기
- 국비지원JAVA#국비지원자바#프로그랭#JSP#국비지원JSP#국비교육JSP#웹개발자#코딩
- 국비지원자바#국비교육자바#국비지원java#국비교육java#자바스크립트#프론트엔드
- Spring#spring#스프링#스프링프레임워크#스프링의존성주입#스프링생성자#스프링기본#국비지원#국비교육#국비지원스프링
- 쿼리스트링#쿼리문자열#바인딩
- 국비지원JAVA#국비교육JAVA#국비지원자바#국비교육자바#JSP#SERVLET#서블릿#
- IntelliJ#인텔리제이#인텔리#단축키
- 항해99 #항해플러스 #주니어개발자 #주니어개발자역량강화 #주니어개발자멘토링 #개발자사이드프로젝트 #코딩부트캠프 #코딩부트캠프후기
- 개발자#it도서#도메인#DDD#ddd
- Java#JAVA#매개변수
- Java#컴파일러#자바컴파일러#
- Resource #
- tibero#티베로#이중화#failvover
- spring#Spring#RequestBody#ResponseBody
- 국비지원#국비교육#국비지원자바#국비교육자바#css#HTML#JAVA
- 항해플러스#항해#항해플러스3기#회고
- 개발자도서#개발자책#도메인#DDD#도메인주도개발시작하기#개발스터디#
Archives
- Today
- Total
개린이 개발노트
국비지원 JAVA(자바) 프로그래밍 자바 연습문제 모음 주사위, 별찍기) 본문
728x90
1+(1+2)+(1+2+3)...(1+2+3+..10)의 결과를 계산하시오 |
package 연습;
// 1+(1+2)+(1+2+3)...(1+2+3+..10)의 결과를 계산하시오
public class Test01 {
public static void main(String[] args) {
int sum=0;
for (int i = 0; i <= 10; i++) {
for (int j = 1; j <= i; j++) {
sum=sum+j;
}
}
System.out.println(sum);
}
}
다른 정답
package 연습;
public class Test01answer {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum=0;
int tot=0;
int i;
for(i = 1; i<=10; i++) {
sum = sum + i;
tot = tot + sum;
}
System.out.println("총합 : " + tot);
}
}
1+(-2)+3+(-4)... 와 같은 식으로 계속 더해나갔을 때 몇까지 더해야 총합이 100이상 되는지 구하시오. 결과: 199 |
package 연습;
//1+(-2)+3+(-4)... 와 같은 식으로 계속 더해나갔을 때 몇까지 더해야 총합이 100이상 되는지 구하시오. 결과: 199
public class Test02answer {
public static void main(String[] args) {
int sum = 0; // 합계 저장 변수
int num=0; // 숫자(양수,음수 둘다 표현)
int i=0; // 숫자( 양수, 음수 표현 x)
int s=1;
while (true) {
i++;
num=i*s;
sum = sum+num;
s=s*-1;
if (sum>=100) {
break;
}
}
System.out.println("숫자: "+num);
System.out.println("합계: "+ sum);
}
}
두개의 주사위를 던졌을 때 두 눈의 합이 6이되는 모든 경우의 수를 출력하는 프로그램을 작성 결과 1,5 2,4 3,3 4,2 5,1 |
package 연습;
// 두개의 주사위를 던졌을 때 두 눈의 합이 6이되는 모든 경우의 수를 출력하는 프로그램을 작성
// 결과 1,5 2,4 3,3 4,2 5,1
public class Test03 {
public static void main(String[] args) {
for (int i = 1; i <= 6; i++) {
for (int j = 1; j <= 6; j++) {
if (i + j == 6) {
System.out.println(i + " " + j);
}
}
}
}
}
int 타입의 변수 num을 입력받아 각자리의 합을 더한 결과를 출력하는 코드를 완성하라 만약 변수 num의 값이 12345라면, '1+2+3+4+5' 의 결과인 15를 출력하라 숫자입력:12345 결과:15 |
package 연습;
import java.util.Scanner;
//int 타입의 변수 num을 입력받아 각자리의 합을 더한 결과를 출력하는 코드를 완성하라
//만약 변수 num의 값이 12345라면, '1+2+3+4+5' 의 결과인 15를 출력하라
//숫자입력:12345
//결과:15
public class Test04 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int sum = 0;
int number;
System.out.print("숫자입력: ");
number = sc.nextInt();
while (number > 0) {
sum += number % 10; // sum= sum+ number%10
number /= 10;
}
System.out.println("결과입력: " + sum);
}
}
다음은 숫자맞추기 게임을 작성한 것이다 1과 사이의 100값을 반복적으로 입력해서 컴퓨터가 생각한 값을 맞추면 게임이 끝난다 사용자가 값을 입력하면 컴퓨터는 자신이 생각한 값과 비교해서 결과를 알려준다 사용자가 컴퓨터가 생각한 숫자를 맞추면 게임이 끝나고 몇번만에 숫자를 맞췄는 지 알려준다 ex) 컴퓨터가 랜덤을 1~100숫자를 정함 ->80이라고 가정 숫자 입력 :50 -> 입력한 숫자보다크다, 숫자 입력: 90 입력한 숫자보다 작다 마지막에 정답을 입력하면 맞췄습니다. 총 시도 횟수는 3번입니다. import java.util.Scanner; |
package 연습;
// 다음은 숫자맞추기 게임을 작성한 것이다 1과 사이의 100값을 반복적으로 입력해서 컴퓨터가 생각한 값을 맞추면 게임이 끝난다
// 사용자가 값을 입력하면 컴퓨터는 자신이 생각한 값과 비교해서 결과를 알려준다
// 사용자가 컴퓨터가 생각한 숫자를 맞추면 게임이 끝나고
// 몇번만에 숫자를 맞췄는 지 알려준다
// ex) 컴퓨터가 랜덤을 1~100숫자를 정함 ->80이라고 가정
// 숫자 입력 :50 -> 입력한 숫자보다크다, 숫자 입력: 90 입력한 숫자보다 작다
// 마지막에 정답을 입력하면 맞췄습니다. 총 시도 횟수는 3번입니다.
import java.util.Scanner;
public class Test05 {
public static void main(String[] args) {
int number = (int) (Math.random() * 100) + 1; // 1부터 100까지 숫자생성시키기
Scanner scanner = new Scanner(System.in);
int guess = -1;
int numGuesses = 0;
while (guess != number) {
System.out.println("숫자를 입력하세요 :");
guess = scanner.nextInt();
numGuesses++;
if (guess < number) {
System.out.println("입력한 숫자보다 큽니다.");
} else if (guess > number) {
System.out.println("입력한 숫자보다 작습니다.");
}
}
System.out.println("맞췄습니다. " + " 총 시도횟수: " + numGuesses);
}
}
입력받은 숫자가 회문수인지 아닌지 출력하는 프로그램을 완성하시오 회문수란? 12321, 15751, 131 -> 앞으로 읽어도 뒤로 읽어도 똑같은것 |
package 연습;
import java.util.Scanner;
// 입력받은 숫자가 회문수인지 아닌지 출력하는 프로그램을 완성하시오
//회문수란? 12321, 15751, 131 -> 앞으로 읽어도 뒤로 읽어도 똑같은것
public class Test06 {
public static void main(String[] args) {
int num; // 입력받는 숫자
int tmp; // 임시저장
int result=0; // 뒤집은 숫자 저장
System.out.print("숫자를 입력하세요: ");
Scanner sc = new Scanner(System.in);
num=sc.nextInt();
tmp= num;
while(tmp!=0){
result = result*10+ tmp%10;
tmp=tmp/10; //123456의 몫이 12345가 됨
}
if (num==result) {
System.out.println("회문수입니다.");
}else {
System.out.println("회문수가 아닙니다.");
}
}
}
다음은 배열에 담긴 데이터를 읽고 각 숫자의 개수를 세어서 개수만큼 * 을 찍어서 그래프를 그리는 프로그램이다 <실행 결과> 1:*** 2:** 3:** 4:**** |
package 연습;
public class Test07 {
// 다음은 배열에 담긴 데이터를 읽고 각 숫자의 개수를 세어서 개수만큼 * 을 찍어서
// 그래프를 그리는 프로그램이다
// <실행 결과>
// 1:***
// 2:**
// 3:**
// 4:****
public static void main(String[] args) {
int[] arr = { 1, 4, 4, 3, 1, 4, 4, 2, 1, 3, 2 };
int[] cnt = new int[4]; // 각 숫자별 개수보관배열
int i, j;
for (i = 0; i < arr.length; i++) {
// arr[i] -1; 개수를 저장하는 배열방 번호
// cnt[ arr[i]- 1 ]++; 해당 숫자의 개수를 저장하는 배열 위치
cnt[arr[i] - 1]++;
}
for (i = 0; i < cnt.length; i++) {
System.out.print(i + 1 + " : ");
for (j = 0; j < cnt[i]; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
거슬러 줄 금액을 입력받아 계산한다. 보유한 동전의 개수로 거스름돈을 지불할 수 없으면 '거스름 돈이 부족합니다.' 라고 출력하고 종료한다. 지불할 돈이 충분히 있으면 거스름돈을 지불한 만큼 가진돈에서 뺴고 남은 동전의 개수를 화면에 출력한다. 출력 결과 거스름 받을 금액을 입력하세요. 2680 money:2680 500원:5 100원:1 50원:1 10원:3 // ==남은 동전의개수== 500원:0 100원:4 50원:4 10원:2 |
package 연습;
import java.util.Scanner;
public class Test08 {
public static void main(String[] args) {
// 거슬러 줄 금액을 입력받아 계산한다.
// 보유한 동전의 개수로 거스름돈을 지불할 수 없으면
// '거스름 돈이 부족합니다.' 라고 출력하고 종료한다.
// 지불할 돈이 충분히 있으면 거스름돈을 지불한 만큼 가진돈에서 뺴고
// 남은 동전의 개수를 화면에 출력한다.
// 출력 결과
// 거스름 받을 금액을 입력하세요. 2680
// money:2680
// 500원:5
// 100원:1
// 50원:1
// 10원:3
// ==남은 동전의개수--
// 500원:0
// 100원:4
// 50원:4
// 10원:2
int[] coinUnit = { 500, 100, 50, 10 }; // 동전 단위 저장 배열
int[] coin = { 5, 5, 5, 5 }; // 동전 개수 저장 배열
int coinTmp; // 동전 개수 임시 저장
int money;
System.out.print("거스름 받을 금액을 입력하세요: ");
Scanner sc = new Scanner(System.in);
money = sc.nextInt();
for (int i = 0; i < coin.length; i++) {
coinTmp = 0; // coinTmp=0;반복을 내부에서 하는 이유는 500원짜리 돌고 다시 100원짜리 할 때 0으로 바뀌어야 하기 떄문!
coinTmp = money / coinUnit[i]; // 금액에서 동전 단위 나눠서 동전 개수를 구함
if (coinTmp > coin[i]) { // 가지고 있는 동전 개수보다 큰 지 물어본느 것
coinTmp = coin[i]; // 임시저장된 공간에 내가 가지고 있는 동전 개수로
coin[i] = 0;
} else {
coin[i] = coin[i] - coinTmp; // 내가 가진 동전개수에서 임시저장 동전 개수를 뺴줌
}
money = money - (coinUnit[i] * coinTmp); // 2700원 이라면 500원짜리 다섯개로 2500원 빼줘서 200원 남기는 작업
System.out.println(coinUnit[i] + "원" + coinTmp + "개");
}
System.out.println("===남은동전개수====");
for (int i = 0; i < coin.length; i++) {
System.out.println(coinUnit[i] + "원" + coin[i] + "개");
}
}
}
다른방법 2
package 연습;
import java.util.Scanner;
import java.util.function.IntPredicate;
public class Test08 {
public static void main(String[] args) {
// 거슬러 줄 금액을 입력받아 계산한다.
// 보유한 동전의 개수로 거스름돈을 지불할 수 없으면
// '거스름 돈이 부족합니다.' 라고 출력하고 종료한다.
// 지불할 돈이 충분히 있으면 거스름돈을 지불한 만큼 가진돈에서 뺴고
// 남은 동전의 개수를 화면에 출력한다.
// 출력 결과
// 거스름 받을 금액을 입력하세요. 2680
// money:2680
// 500원:5
// 100원:1
// 50원:1
// 10원:3
// ==남은 동전의개수--
// 500원:0
// 100원:4
// 50원:4
// 10원:2
int[] coinUnit = { 500, 100, 50, 10 }; // 동전 단위 저장 배열
int[] coin = { 5, 5, 5, 5 }; // 동전 개수 저장 배열
int[] passCoin = new int[4];
int money;
System.out.print("거스름 받을 금액을 입력하세요: ");
Scanner sc = new Scanner(System.in);
money = sc.nextInt();
for (int i = 0; i < coin.length; i++) {
passCoin[i] = money / coinUnit[i]; // 금액에서 동전 단위 나눠서 동전 개수를 구함
if (passCoin[i] > coin[i]) { // 가지고 있는 동전 개수보다 큰 지 물어본느 것
passCoin[i] = coin[i]; // 임시저장된 공간에 내가 가지고 있는 동전 개수로
coin[i] = 0;
} else {
coin[i] = coin[i] - passCoin[i]; // 내가 가진 동전개수에서 임시저장 동전 개수를 뺴줌
}
money = money - (coinUnit[i] * passCoin[i]); // 2700원 이라면 500원짜리 다섯개로 2500원 빼줘서 200원 남기는 작업
}
if (money > 0) {
System.out.println("거슬러줄 잔돈이 부족합니다.");
} else {
System.out.println("거슬러준 동전개수");
for (int i = 0; i < coin.length; i++) {
System.out.println(coinUnit[i] + "원" + coin[i] + "개");
System.out.println("===남은동전개수====");
for (i = 0; i < coin.length; i++) {
System.out.println(coinUnit[i] + "원" + coin[i] + "개");
}
}
}
}
}
package 연습2;
public class Student {
String name;
int ban;
int no;
int kor, eng, math;
int getTotal() {
return kor + eng + math;
}
double getAverage(){
return getTotal()/3.0;
}
}
package 연습2;
/*
* 다음과 같은 변수를 가지는 Student 클래스를 완성하시오
* 데이터 타입 변수명 설명
* 문자열 name 이름
* 정수 ban 반
* 정수 no 번호
* 정수 kor 국어점수
* 정수 eng 영어점수
* 정수 math 수학점수
*
* 메서드
* 메서드명 : getTotal
* 기능 : 국어, 영어, 수학점수를 다 더해서 반환함
* 리턴타입 : 정수
* 매개변수 없음
*
* 메서드명 : getAverage
* 기능 : 총점을 과목수(3)로 나눈 평균을 반환함
* 리턴타입 : 실수
* 매개변수 없음
*/
public class YTT {
public static void main(String[] args) {
Student s = new Student();
s.name ="홍길동";
s.ban = 1;
s.no = 2;
s.kor = 100;
s.eng = 60;
s.math = 76;
System.out.println("이름: " + s.name);
System.out.println("총점: " + s.getTotal());
System.out.println("평균: " + s.getAverage());
}
}
1번 모든 생성자의 이름은 클래스의 이름과 동일해야한다.->정답!
2번 생성자는 객체를 생성하기 위한 것이다. -> X 객체 생성은 new라는 키워드가 해주는 것이고 생성자의 정확한 목표는 초기값 설정하는 것!
3. 클래스에는 생성자가 반드시 하나 이상 있어야 한다. -> 정답!
4. 생성자가 없는 클래스는 컴파일러가 기본 생성자를 추가한다->정답!
5. 생성자는 오버로딩을 할 수 없다. X -> 오버로딩 가능함(오버라이딩도 마찬가지)
1. 메서드의 이름이 같아야 한다 -O
2. 매개변수의 개수나 타입이 달라야 한다-O
3. 리턴타입이 달라야한다-X
4. 매개변수 이름이 달라야 한다-X
package 연습2;
import java.util.Arrays;
public class Test {
// 여기에 메서드 생성
public static int[] shuffle(int[] arr) {
int temp;
for (int i = 0; i < arr.length; i++) {
int j = (int) (Math.random() * arr.length);
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
return arr;
}
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int[] result = shuffle(arr);
System.out.println(Arrays.toString(result));
}
}
728x90
'국비지원(국비교육) 웹 개발자 과정' 카테고리의 다른 글
국비지원 JAVA(자바) 프로그래밍(네트워크,OSI7계층,클라이언트,서버 동작과정, ) (0) | 2022.12.12 |
---|---|
국비지원 JAVA(자바) 프로그래밍 (메서드호출,오버라이딩,상속, 트라이캐치,집합,Thread,스트림) (0) | 2022.12.09 |
국비지원 JAVA(자바) 프로그래밍 (입출력 스트림) (0) | 2022.12.07 |
국비지원 JAVA(자바) 프로그래밍(Thread, 스레드, 람다, 익명함수, 상태 제어- sleep(), join() ,yield(), Thread동기화synchronized,데몬스레드 ) (1) | 2022.12.06 |
국비지원 JAVA(자바) 프로그래밍 (람다,Operator,Predicate,andThen,compose,anyMatch) (0) | 2022.12.05 |