jongviet

Feb 15, 2021 - Java 3일차(블로그 이전 재작성) 본문

Java

Feb 15, 2021 - Java 3일차(블로그 이전 재작성)

jongviet 2021. 3. 1. 17:50

#Java

 

*2월15일

 

1)설 이후 복습 예제

 

 

import java.util.Random;

import java.util.Scanner;

 

public class Main_Trial {

 

public static void main(String[] args) {

 

 //1~2번 복습 퀴즈; 정수를 저장할 수 있는 변수 선언, 키보드 입력한 숫자 형변환해서 1번에 넣기

int a = 5;

String str1;

 

Scanner sc = new Scanner(System.in);

System.out.println("str1에 들어갈 값을 입력해주세요");

str1 = sc.nextLine();

a = Integer.parseInt(str1);

System.out.println("str1 : " + str1);

 

          // 3번 복습 퀴즈; 두 개의 숫자를 입력해서 어느 숫자가 큰지 조건문 만들기

int b;

int c;

 

System.out.println("b c의 값을 순차적으로 넣어주세요");

b = sc.nextInt();

c = sc.nextInt();

 

if (b > c) {

System.out.println("b : " + b + ", c : " + c);

System.out.println("b c보다 큽니다.");

}

else if (b < c) {

System.out.println("b : " + b + ", c : " + c);

System.out.println("c b보다 큽니다.");

}

else {

System.out.println("같다~");

}

 

 

// 4번 복습 퀴즈; 랜덤으로 1~10번까지 숫자 출력

 

Random rd = new Random();

 

int ranNum;

ranNum = rd.nextInt(10); // 범위

System.out.println("랜덤 숫자 : " + (ranNum + 1) ); // 스타트넘버

 

 

// 5번 복습 퀴즈; 길이가 5개인 문자열 배열 만들고,, 각 칸 임의의 값 넣기

 

String[] arr = new String[5];

 

arr[0] = "";

arr[1] = "";

arr[2] = "";

arr[3] = "";

arr[4] = "";

 

// 6번 복습 퀴즈; 반복문으로 각 칸에 문자열 입력받아 넣기

System.out.println("배열 0~4까지의 값을 순차적으로 넣으세요");

for(int i = 0; i < arr.length; i++) {

arr[i] = sc.nextLine();

}

 

for(int i = 0; i < arr.length; i++) {

System.out.println(arr[i]);

}

 

 

}

 

}

 

 

// 1.for만을 이용해서 구구단 4단 찍기

for(int i = 1; i < 10; i++) {

System.out.println("4*" + i + "=" + 4*i);

}

 

// 2.for만을 이용해서 구구단 2~9단 찍기

for(int i = 2; i < 10; i++) {

for(int j = 1; j < 10; j++) {

System.out.println(i + "*" + j + "=" + i*j);

}

}

 

// 3.길이가 5인 배열을 만들고 랜덤 숫자 1~100을 각 방에 넣은 후 해당하는 랜덤 숫자로 구구단 찍기

int[] arr = new int[5];

Random rd = new Random();

 

for(int i = 0; i < arr.length; i++) {

arr[i] = rd.nextInt(100 + 1);

System.out.println(arr[i]);

}

System.out.println("-------랜덤값끝--------");

 

for(int i = 0; i < arr.length; i++) {  // arr.length 외곽 i반복 돌리고, 1~9 내부 j

for(int j = 1; j < 10; j++) {

System.out.println(arr[i] + "*" + j + "=" + arr[i] * j);

}

System.out.println();

}

 

 

// 4.If문안 쓰고 2번 문제에서 짝수단만 찍기

-2,4,6,8단만 찍기,,, if 쓰지않고???

-i값을 2 플러스해주기..

 

for(int i = 2; i < 10; i= i + 2) {

for(int j = 1; j < 10; j++) {

System.out.println(i + "*" + j + "=" + i*j);

}

}

System.out.println();

 

 

 

2)각종 문자열 처리

-str.indexOf("산");  / str.lastIndexOf("산");    //특정문자 위치찾기; from 0~; 노멀은 왼쪽부터 카운트, last는 오른쪽부터 카운트

-str.length(); //문자열의 길이

-String.valueOf(str.charAt(5)); //특정 위치의 문자 1개 가져오기

-str.trim(); //문자열의 처음과 끝 공백 제거; 회원가입 아이디, 비밀번호

-str = str.replace("동해","서해"); //특정문자 바꾸기;욕설 필터링;

-str = str.replace(" ", "");  //공백제거

-str1 = str1.substring(5); //5를 넣었으면 문자열 앞 5칸만 다 잘림

-str2 = "Hold on tight!";  str2 = str2.toUpperCase(); str2.toLowerCase(); //전부다 대문자 or 소문자로

 

 

 

//1.특정 문자 위치찾기

String str = "동해물과 백두산 강아지   ";

int a = str.indexOf("");  //왼쪽부터시작해서 ''이 있는 자리, 없을 경우 '-1' 출력, 7이 출력됨

a = str.lastIndexOf("");  //오른쪽에서부터 '' 찾기, 없을 경우 '-1' 출력,, 오른쪽부터니 5가 출력됨 indexOf랑 실질적으로 기능은 같음!! 

String temp = String.valueOf(str.charAt(5)); //특정 위치의 문자 1개 가져옴

 

System.out.println(a);

 

int b = str.length();

 

System.out.println(temp);

System.out.println(b);

 

//2.공백제거

System.out.println(str);

str = str.trim();  //문자열의 처음과 끝 공백 제거; 회원가입 아이디, 비번

System.out.println(str);

              

//3.문자열 포함 여부; 비밀번호에 특수문자 포함되었는지 확인~

if(str.contains("동해")) {

System.out.println("있다");

}        

//4.특정 문자 바꾸기; 욕설할때 필터링

str = str.replace("동해", "서해"); //찾을값, 바꿀값

str = str.replace(" ", ""); //공백제거

str = str.replace("강아지", "***"); //욕설 필터링

System.out.println(str);        

 

//5.자르기;

String str1 = "동해물과 백두산이 마르고";

str1 = str1.substring(5); //넣은 자리 앞에꺼만 다 자름, '동해물과 '만 잘림

System.out.println(str1);

 

//6.대소문자;

String str2 = "Hold on tight!";

String str3 = "Up on the stage";

    str2 = str2.toUpperCase();  //전부다 대문자로

    str3 = str3.toLowerCase();  //전부다 소문자로  

    System.out.println(str2);

    System.out.println(str3);

 

 

 

3)Continue, break, swap

-continue는 특정 조건 만족 시, 해당 조건만 건너뛰고 반복문 자체는 유지

-break는 반복문 loop 자체 깨고 나감.

-정렬 관련 swap

 

for(int i = 0; i< 10; i++) {

if(i == 5) {

continue; // 그냥 다음 반복문으로 이동, 반복문 자체는 유지

}

System.out.println(i);

}

 

for(int i = 0; i< 10; i++) {

if(i == 5) {

break; // loop깨고 나가는 것

}

System.out.println(i);

}

 

 

int num1 = 1;

int num2 = 2;

int temp = 0;

 

temp = num1;

num1 = num2;

num2 = temp;

 

System.out.println(num1);

System.out.println(num2);

 

 

 

//길이 10개의 랜덤 1~50까지 (중복 무관) 넣고 수부터 나오도록 정렬, 큰수부터 나오도록 내림차순으로 정렬

 

Random rd = new Random();

int[] arr = new int[10];

for (int i = 0; i < arr.length; i++) {

arr[i] = rd.nextInt(50) + 1;   // arr[i] = new Random().nextInt(50) + 1;  간소화해서 사용하는 방법!

System.out.println("arr[" + i + "] : " + arr[i]);

}

 

 

for (int i = 0; i < arr.length-1; i++) { // length-1인 이유는 arr[9]는 뒤에 더 비교할 대상이 없음. arr[8]까지만!

for(int j = i+1; j < arr.length; j++) {

if (arr[i] < arr[j]) {

Int temp = arr[i];   // temp 선언하자마자 바로 넣기! 따로 필요x

arr[i] = arr[j];

arr[j] = temp;

}

}

}

 

for (int i = 0; i < arr.length; i++) {

System.out.println(arr[i]);

}

 

Comments