
👇 공부한 자료들의 실제 소스파일들을 기록해논 공간입니다 👇
GitHub - gayulz/StudyHistory: 나의 공부 기록 commit
나의 공부 기록 commit . Contribute to gayulz/StudyHistory development by creating an account on GitHub.
github.com
전일 공부 정리
1. 공통된 룰 ( 규칙 ) 을 찾는 게 중요하다.
2. 찾은 규칙을 가지고 코드화를 해야한다
3. 문제 해결이 될 때까지 끊기지 않는 집중력과 끈기를 길러야 한다.
4. 반복문은 초기 값을 설정하고 특정 조건을 지정한 뒤 반복할 코드를 작성하고 초기값이 점점 증감 또는 증가하며 조건을 만족할 때까지 반복하는 문이다
5. 증감식이나 증가식이 누락되거나 for문안에 종료되는 조건이 만족하지 않는 실행문이 있을 경우 무한 루프에 빠질 수 있다
Scanner 함수
import java.utill.Scanner or import java.utill.* 이 필요한 메서드이다
java.utill이라는 자바 내장 라이브러리에 있는 메서드를 사용하기 위해 import 연결해줘야 한다.
입력과 사용방법
1. Scanner (변수명) = new Scanner(System.in);
키보드로 입력받을 저장 공간을 Scanner메서드를 사용하여 공간을 미리 할당 (new저장공간 확보)
2. (자료형) (변수명) = (Scanner변수명). next(자료형)();
예시 :
Scanner in = new Scanner(System.in);
in이라는 Scanner 공간을 확보
int num1 = in.nextInt();
num1이라는 변수공간에 키보드 입력값을 대입시킴
간단한 계산기 (더하는 계산기 만들기)
package for2way;
import java.util.Scanner;
public class Study {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("더하는 계산기");
System.out.print("첫번째 숫자 입력 : ");
int num1 = in.nextInt();
System.out.print("두번째 숫자 입력 : ");
int num2 = in.nextInt();
System.out.println("덧셈 결과 : " + (num1+num2) );
}
}
실습 과제 1
public class Task01 {
public static void main(String[] args) {
// 문제 1 : 100부터 999까지의 숫자중에서 홀수만 출력하시오.
for (int i = 100; i <1000 ; i++) {
if (i % 2 == 1){
System.out.println(i);
}
}
}
}
실습 과제 2
public class Task02 {
public static void main(String[] args) {
// 문제 2 : 1부터 100까지 숫자중에서 홀수의 총합을 구하시오
int tot = 0;
for (int i = 0; i <=100; i++) {
if(i%2==1){
tot+=i;
}
}
System.out.println(tot);
}
}
실습 과제 3
public class Task03 {
public static void main(String[] args) {
// 문제 3 : 다음과 같이 출력하시오 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
for (int i = 10; i > 0 ; i--) {
System.out.print(i + " ");
}
}
}
실습 과제 4
public class Task04 {
public static void main(String[] args) {
// 문제 4 : 범인 숫자 구하기
// 범인은 100부터 999까지 숫자중에 여러명이다
// 범인의 특징은 숫자의 각자리수에 더한 값이 짝수이다.
// 범인의 숫자를 모두 찾으시오
for (int i = 100; i <1000 ; i++) {
int n1 = i%10;
int n10 = (i/10)%10;
int n100 = (i/10)/10;
if ((n1+n10+n100)%2==0){
System.out.println(i);
}
}
}
}
실습 과제 5
public class Tesk05 {
public static void main(String[] args) {
// 문제 5 : 키보드로 숫자를 입력받아 홀 짝 인지 판별하시오
Scanner in = new Scanner(System.in);
System.out.print("숫자를 입력하세요 : ");
int numBer = in.nextInt();
if (numBer % 2 == 0){
System.out.println("\n짝수 입니다.");
}else{
System.out.println("\n홀수 입니다.");
}
}
}
실습 과제 6
public class Tesk06 {
public static void main(String[] args) {
// 문제 6 : 키보드로 숫자 2개를 입력받아 서로의 차를 구하는 프로그램을 작성하시오
Scanner in = new Scanner(System.in);
System.out.print("숫자1번을 입력하세요 : ");
int num1 = in.nextInt();
System.out.print("숫자2번을 입력하세요 : ");
int num2 = in.nextInt();
System.out.println("숫자1번과 2번의 차 : " + (num1-num2));
}
}
실습 과제 7
public class Tesk07 {
public static void main(String[] args) {
// 문제 7 : 키보드로 입력받아 업 다운 게임하기
// 정답까지 반복 해야한다 . 정답시 종료
int com = 45;
Scanner in = new Scanner(System.in);
System.out.println("게임을 시작합니다.");
System.out.print("1부터 100사이의 숫자를 입력하세요 : ");
for (int i = 0; i < 1; i++) {
int nowNum = in.nextInt();
if (nowNum > 0 && nowNum <= 100){
if (com>nowNum){
System.out.print("업 . 다시입력하세요 : ");
} else if (com<nowNum) {
System.out.print("다운 . 다시입력하세요 : ");
} else {
System.out.println("정답입니다.\n프로그램이 종료됩니다");
break;
}
} else {
System.out.print("1부터 100까지 숫자로 다시 입력하세요 : ");
}
i-=1;
}
}
}
실습 과제 8
public class Tesk08 {
public static void main(String[] args) {
// 문제 8번 : 코드를 분석하여 a문자열에 a가 몇개 있는지 구하는 프로그램을 작성하세요
String test = "abcdeabce";
int cnt = 0;
for (int i = 0; i < 9; i++) {
char aaa=test.charAt(i);
if (aaa == 'a') {
cnt++;
}
}
System.out.println(cnt);
}
}
실습 과제 9
public class Test09 {
public static void main(String[] args) {
/*
문제 9 : 어떤 자연수 n이 있을때, d(n)을 n의 각 자릿수 숫자들과 n 자신을 더한 숫자라고 정의하자
예를 들어, d(91) = 9 + 1 + 91 = 101
이때 , n을 d(n)의 제너레이터(generator)라고 한다, 위의 예시에서 91은 101의 제너레이터이다
어떤 숫자들은 하나 이상의 제너레이터를 가지고 있는데
101의 제너레이터는 91 뿐만 아니라 100도 있다.
그런데 반대로, 제너레이터가 없는 숫자들도 있으며 이런 숫자들을 인도의 수학자 Kapreka가 셀프넘버(self-nember)라 이름 불렀다
예를들어 1.3.5.7.9.20.31은 셀프 넘버들이다
1 이상이고 5000 보다 작은 모든 셀프 넘버들의 합을 구하라
아직 배우지 않은 부분은 사용하지않기 ( for문과 if문으로만 해결하기 )
*/
int cnt = 0;
int bIn = 0;
for (int i = 1; i <= 5000; i++) {
for (int j = 0; j <=i ; j++) {
int num1000 = j/1000;
int num100 = (j%1000)/100;
int num10 = ((j%1000)%100)/10;
int num1 = ((j%1000)%100)%10;
int sigleNum = num1+num10+num100+num1000+j;
if (i == sigleNum) {
bIn = sigleNum;
}
}
if ( i != bIn ){
cnt+=i;
}
}
System.out.println(cnt);
}
}
실습 과제 10
public class Test10 {
public static void main(String[] args) {
// 문제 10 : a는 터널이다 가장 긴 터널의 길이를 구하시오
String ttt ="aabbbaabaaddbabaaabaabaabbaaaaa";
int cnt = 0;
int max = 0;
for (int i = 0; i < ttt.length(); i++) {
char tt = ttt.charAt(i);
int bin;
if (tt == 97 ) {
cnt++;
} else {
if (cnt > max) {
bin = cnt;
max = bin;
}
cnt=0;
}
}
System.out.println(max);
}
}
'👩🏻💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞 > ⠀⠀⠀⠀ Jᴀᴠᴀ' 카테고리의 다른 글
2023/09/26🤔 반복문과 배열 문제 풀기 (0) | 2023.09.29 |
---|---|
2023/09/25🌙 배열 및 for문 활용 (0) | 2023.09.26 |
2023/09/21✏️ For문 (0) | 2023.09.21 |
2023/09/19 ✨ IF문 실습 (0) | 2023.09.21 |
2023/09/18 🌱 자료형과 형변환(캐스팅) , 그리고 if 조건문 (1) | 2023.09.19 |