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 | 29 | 30 | 31 |
Tags
- 데이터베이스 JOIN
- 탑마이장인
- lenovo ideapad 3
- 레노버 슬림3
- 데이터베이스기초
- 개발자준비
- 코딩일기
- 자바입문
- 데이터베이스 DELETE
- 데이터베이스 기초
- 레노버 아이디어패드 슬림3
- 데이터베이스 UPDATE
- 슬림3
- 오라클
- 데이터베이스 예제
- IdeaPad 3 15ABA7
- SQL
- 오라클 DELETE
- 데이터베이스 집합연산자
- 오라클UPDATE
- 사무용 노트북
- 자바초보
- 가성비 노트북
- 데이터베이스
- 티모장인
- 라이젠노트북
- 코딩입문
- 레노버 노트북
- 코딩초보자
- 코린이
Archives
- Today
- Total
스퐁지송 개발노트
22.12.08(목) 문제풀이 for, while, 배열 본문
728x90
문제1
1+(1+2)+(1+2+3)+...(1+2+3+...+10)의 값 220이 나와야한다
package 테스트;
//1+(1+2)+(1+2+3)+...(1+2+3+...+10)의 값 220이 나와야한다
public class test01 {
public static void main(String[] args) {
int sum = 0;
for (int i = 0; i <= 10; i++) {
for (int j = 0; j <= i; j++) { //괄호안의 식 그러므로 반복은 i만큼
sum = sum + j;
}
}
System.out.println(sum);
}
}
for문을 한개만 이용해서 더 간단하게 만들어보기
package 테스트;
//1+(1+2)+(1+2+3)+...(1+2+3+...+10)의 값 220이 나와야한다
public class test01 {
public static void main(String[] args) {
int sum = 0; // 각 괄호안의 합계
int tot = 0; // 전체의 총합
for (int i = 0; i <= 10; i++) {
sum = sum + i;
tot = tot + sum;
}
System.out.println(tot);
}
}
문제2
1+(-2)+3+(-4)+.. 과 같은 식으로 계속 더해나갔을 때, 몇까지 더해야 총합이 100이상이 되는지 구하시오.
package 테스트;
public class test02 {
// 1+(-2)+3+(-4)+.. 과 같은 식으로 계속 더해나갔을 때, 몇까지 더해야 총합이 100이상이 되는지 구하시오.
public static void main(String[] args) {
int sum = 0; //합계 저장 변수
int num=0; // 숫자(양수 ,음수 둘다 표현)
int i = 0; // 숫자(양수, 음수표현 x)
int s =1; //스위치 변수(1,-1)
while(true) {
i++;
num = i * s;
sum = sum + num;
s = s * -1; //(s가 -1로(음수) 변경)
if(sum>=100)
break;
}
System.out.println("숫자 : "+ num);
System.out.println("합계 : "+ sum);
}
}
숫자 : 199
합계 : 100
문제3
두 개의 주사위를 던졌을 때 눈의 합이 6이 되는 모든 경우의 수를 출력하는 프로그램을 작성
package 테스트;
public class test02 {
//두 개의 주사위를 던졌을 때 눈의 합이 6이 되는 모든 경우의 수를 출력하는 프로그램을 작성
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);
}
}
}
}
}
1 , 5
2 , 4
3 , 3
4 , 2
5 , 1
문제4
int타입의 변수 num을 입력받아 각 자리의 합을 더한 결과를 출력하는 코드를 완성하라
만일 변수 num의 값이 12345라면 ,'1+2+3+4+5'의 결과인 15를 출력하라
(12345는 한번에 입력)
입력된 정수의 뒷자리부터 뽑아서 계산
package 테스트;
import java.util.Scanner;
//int타입의 변수 num을 입력받아 각 자리의 합을 더한 결과를 출력하는 코드를 완성하라
//만일 변수 num의 값이 12345라면 ,'1+2+3+4+5'의 결과인 15를 출력하라
//(12345는 한번에 입력)
public class test03 {
public static void main(String[] args) {
int num = 0;
int sum = 0;
Scanner sc = new Scanner(System.in);
System.out.print("숫자입력 : ");
num = sc.nextInt();
while(num !=0 ) { //num값이 0이 아닐때 무한반복
sum = sum + num%10; //num을 10으로 나눈 나머지를 sum에 더한다 (5가 sum에 저장)
num = num/10; //num을 10으로 나눈 값을 다시 num에 저장한다(1234.5가 num에 저장)
//하지만num은int 정수처리으므로 소숫점아래는 날라가서 1234가저장
}
System.out.println(sum);
}
}
문제5
컴퓨터가 1~100까지의 숫자를 램덤으로 정함(ex 80)
숫자를 입력해서 그 숫자를 맞춰야한다
그리고 몇 번 만에 맞췄는지 알려줘야한다
ex) 숫자입력 : 50
-> 입력한 숫자보다 크다
숫자입력 : 90
-> 입력한 숫자보다 작다
숫자입력 : 80
-> 맞췄습니다 총 시도 횟수는 3번입니다.
package 테스트;
import java.util.Scanner;
public class test04 {
public static void main(String[] args) {
int random = (int)(Math.random()*100)+1;
//(Math.random()은 0~1까지의 실수가 출력되므로 100을 곱하고 1을 더한다
//그리고 정수처리(int)
System.out.println("컴퓨터 지정 램덤숫자 : " + random);
Scanner sc = new Scanner(System.in);
int cnt=1; //반복횟수저장(1번에 맞춰도 1번에 맞췄다가 출력해야하므로)
int me; //내가 입력한 숫자
while(true) {
System.out.println("맞출 숫자를 입력하시오 : ");
me=sc.nextInt();
if(me>random) {
System.out.println("입력한 숫자보다 작습니다");
}if(me<random){
System.out.println("입력한 숫자보다 큽니다");
}if(me==random){
System.out.print("정답 ~ "+cnt+"번 만에 맞췄습니당~ 기모링~");
break;
}
cnt++;
}
}
}
컴퓨터 지정 램덤숫자 : 79
맞출 숫자를 입력하시오 :
79
정답 ~ 1번 만에 맞췄습니당~ 기모링~
문제6
입력받은 숫자가 회문수(12321,15751...앞으로 읽어도 뒤로 읽어도 똑같은 수...)인지 출력하는 프로그램 완성
package 테스트;
import java.util.Scanner;
public class test05 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num; // 입력받은숫자
int tmp; // 임시저장
int reverse = 0; // 뒤집은 숫자 저장
System.out.println("숫자를 입력하시오 : ");
num = sc.nextInt();
tmp = num;
while (tmp > 0) {
//만약 입력된수가 121이라면
reverse = reverse * 10 + tmp % 10;//reverse=3(0+3)
tmp = tmp / 10;
}
if (num == reverse) {
System.out.println("회문수입니둥~");
} else {
System.out.println("회문수아닙니둥~");
}
}
}
숫자를 입력하시오 :
121
회문수입니둥~
728x90
'JAVA 입문 시작' 카테고리의 다른 글
22.12.09(금) 문제풀이2 (0) | 2022.12.09 |
---|---|
22.12.08(목) 문제풀이 - 클래스 (0) | 2022.12.08 |
22.12.07(수) 입출력 스트림(Stream) (2) | 2022.12.07 |
22.12.06(화) Thread간의 협업 wait,notify,notifyAll (0) | 2022.12.06 |
22.12.06(화) Thread (0) | 2022.12.06 |
Comments