Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- GIT
- 티스토리 쿠키 삭제
- Kernighan의 C언어 프로그래밍
- baeldung
- 친절한SQL튜닝
- 선형대수
- 데비안
- 자료구조와함께배우는알고리즘입문
- 스프링 시큐리티
- resttemplate
- 자바편
- 알파회계
- 처음 만나는 AI수학 with Python
- 처음 만나는 AI 수학 with Python
- 자료구조와 함께 배우는 알고리즘 입문
- 서버설정
- 페이징
- 목록처리
- 리눅스
- /etc/network/interfaces
- iterator
- 구멍가게코딩단
- ㅒ
- 스프링부트핵심가이드
- d
- 코드로배우는스프링부트웹프로젝트
- network configuration
- 네트워크 설정
- 코드로배우는스프링웹프로젝트
- 이터레이터
Archives
- Today
- Total
bright jazz music
01-6 연습문제 본문
연습문제
1. 네 값의 최댓값을 구하는 max4 메서드 작성 (static int max4(int a, int b, int c, int d))
//1. 네 값의 최댓값을 구하는 max4 메서드 작성 (static int max4(int a, int b, int c, int d))
public class TestMain{
public static int max4(int a, int b, int c, int d){
int max=a;
if(max <= b){
max = b;
}
if(max <= c) {
max = c;
}
if(max <= d) {
max = d;
}
return max;
}
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
System.out.print("a: ");
int a = scanner.nextInt();
System.out.print("b: ");
int b = scanner.nextInt();
System.out.print("c: ");
int c = scanner.nextInt();
System.out.print("d: ");
int d = scanner.nextInt();
System.out.print(max4(a, b, c, d));
}
}
/*
a: 1
b: 3
c: 234
d: 66
234
/*
2. 세 값의 최솟값을 구하는 min3 메서드 작성
//2. 세 값의 최솟값을 구하는 min3 메서드 작성
public class TestMain{
public static int min3(int a, int b, int c){
int min=a;
if(min >= b){
min = b;
} else if (min >= c) {
min = c;
}
return min;
}
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
System.out.print("a: ");
int a = scanner.nextInt();
System.out.print("b: ");
int b = scanner.nextInt();
System.out.print("c: ");
int c = scanner.nextInt();
System.out.print(min3(a, b, c));
}
}
3. 네 값의 최솟값을 구하는 min4 메서드 작성
import java.util.Scanner;
//3. 네 값의 최솟값을 구하는 min4 메서드 작성
public class TestMain{
public static int min4(int a, int b, int c, int d){
int min=a;
if(min >= b){
min = b;
} else if (min >= c) {
min = c;
} else if (min >= d) {
min = d;
}
return min;
}
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
System.out.print("a: ");
int a = scanner.nextInt();
System.out.print("b: ");
int b = scanner.nextInt();
System.out.print("c: ");
int c = scanner.nextInt();
System.out.print("d: ");
int d = scanner.nextInt();
System.out.print(min4(a, b, c, d));
}
}
4. 세 값의 대소관계 13종류의 모든 조합에 대해 중앙값을 구하여 출력하는 프로그램
//내 코드. 교과서에서는 따로 median 변수를 선언하지 않았다.
//4. 세 값의 대소관계 13종류의 모든 조합에 대해 중앙값을 구하여 출력하는 프로그램
public class TestMain{
public static int median3(int a, int b, int c){
int median = 0;
if(a >= b){
if(b >= c){
median = b;
}else if(c >= a){
median = a;
}else {
median = c;
}
} else {
if( a >= c){
median = a;
}else if(c >= b) {
median = b;
}else {
median = c;
}
}
return median;
}
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
System.out.print("a: ");
int a = scanner.nextInt();
System.out.print("b: ");
int b = scanner.nextInt();
System.out.print("c: ");
int c = scanner.nextInt();
System.out.print(median3(a, b, c));
}
}
5. 중앙값 메서드에서 || 사용이 비효율적인 이유
:앞 조건이 이미 충족하더라도 뒷 조건을 확인하기 때문이다. *더이상 연산이 필요하지 않은 경우에도 추가 연산이 의무화 되기 때문
6. while문이 종료될 때 i값이 n+1이 됨을 확인 (변수i값 출력)
//6. while문이 종료될 때 i값이 n+1이 됨을 확인 (변수i값 출력)
public class TestMain{
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
System.out.print("반복할 횟수 입력: ");
int n = scanner.nextInt();
int i = 1;
while(i <= n){
System.out.println(i);
i++;
System.out.println("i++ = " + i);
}
}
}
/*반복할 횟수 입력: 2
1
i++ = 2
2
i++ = 3
*/
7. 입력값 n이 7이면 '1 + 2 + 3 + 4 + 5 + 6 + 7 = 28'을 출력하는 프로그램을 작성하라
//내 코드
import java.util.Scanner;
public class TestMain {
public static void main(String[] args){
Scanner stdin = new Scanner(System.in);
System.out.println("숫자 입력: ");
int n = stdin.nextInt();
int sum = 0;
int i = 1;
String numExpression ="";
while (i <= n){
sum = sum + i;
if(i == n){
numExpression = numExpression+i + " = " + sum;
break;
}
numExpression = numExpression + i +" + ";
i++;
}
System.out.println(sum);
System.out.println(numExpression);
}
}
8. 1부터 10까지의 합은 (1+10)*5처럼 가우스 덧셈을 이용해서 1부터 n까지의 정수합 구하는 프로그램 작성
// 8. 1부터 10까지의 합은 (1+10)*5처럼 가우스 덧셈을 이용해서 1부터 n까지의 정수합 구하는 프로그램 작성
public class TestMain{
static int gausSum(int startNo, int endNo){
//1부터 10까지의 합 : (1 + 10)*5
//1부터 11까지의 합 : (1 + 11)*5.5
if(startNo==1){
return (1+endNo)*endNo/2;
}else
// e.g. startNo = 9, endNo = 11
// 66 - (1+(10-1))*(10-1)/2 = 9+10+11 = 30
return (1+endNo)*endNo/2 - (startNo)*(startNo-1)/2;
}
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
System.out.print("시작값 입력: ");
int startNo = scanner.nextInt();
System.out.print("종료값 입력: ");
int endNo = scanner.nextInt();
if(startNo>0 && endNo>0)
System.out.println(gausSum(startNo, endNo));
else
System.out.println("0보다 큰 수 입력할 것");
}
}
9. 정수 a, b를 포함하여 그 사이의 모든 정수의 합을 구하여 반환하는 메서드 작성(static int sumof(int a, int b)
//9. 정수 a, b를 포함하여 그 사이의 모든 정수의 합을 구하여 반환하는 메서드 작성(static int sumof(int a, int b)
public class TestMain{
static int sumOf(int startNo, int endNo){
int sum =0;
while (startNo <= endNo){
sum = sum + startNo;
startNo++;
}
return sum;
}
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
System.out.print("시작값 입력: ");
int startNo = scanner.nextInt();
System.out.print("종료값 입력: ");
int endNo = scanner.nextInt();
System.out.println(sumOf(startNo, endNo));
}
}
10. 두 변수 a, b에 정수 입력, b-a를 출력하는 프로그램 작성. 단, 변수 b에 입력한 값이 a 이하면 변수 b의 값을 다시 입력.
//10. 두 변수 a, b에 정수 입력, b-a를 출력하는 프로그램 작성. 단, 변수 b에 입력한 값이 a 이하면 변수 b의 값을 다시 입력.
public class TestMain{
static int subtraction(int a, int b){
return b - a;
}
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
int a, b;
do {
System.out.print("a: ");
a = scanner.nextInt();
System.out.print("b: ");
b = scanner.nextInt();
}while (a>=b);
//a가 b보다 큰 경우는 계속 반복.
//b가 a보다 커야 반복문 탈출
System.out.println(subtraction(a, b));
}
}
11. 양의 정수 입력하고 자릿수 출력. e.g. 1314 = 네자리수 출력
//11. 양의 정수 입력하고 자릿수 출력. e.g. 1314 = 네자리수 출력
public class TestMain{
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
System.out.print("양의 숫자를 입력하라: ");
int dividend = scanner.nextInt();
int count=1;
while(dividend >= 10){
dividend = dividend / 10;
count++;
}
System.out.println("입력값은 " + count + "자리 숫자입니다.");
}
}
/*
양의 숫자를 입력하라: 123456
입력값은 6자리 숫자입니다.
*/
12. p38 위/왼쪽에 곱하는 수가 있는 곱셈표 출력 프로그램 작성
13. 덧셈표 출력
14. 입력한 수를 한 변으로 하는 정사각형을 * 기호로 출력하는 프로그램 작성
15. 직각 이등변 삼각형을 출력하는 부분을 static void triangleB(int n)로 작성 //왼쪽 아래가 직각인 이등변 삼각형
16. n단의 피라미드를 출력하는 메서드 작성 (크리스마스트리 모양)
17. static void npira(int n)을 사용하여 숫자 피라미드 작성(크리스마스 트리)
'Algorithm&Data structure > Java text book' 카테고리의 다른 글
01-4 반복 (0) | 2022.12.01 |
---|---|
01-3 순서도( flow chart) (0) | 2022.09.05 |
01-2 중앙값(median) 구하기 (0) | 2022.09.03 |
01-1 최댓값/최솟값 구하기 (0) | 2022.09.02 |
Comments