2021-01-23 코딩을 하다 보면 다양한 형태의 변수를 문자열 형태로 바꾸어야 하는 경우가 자주 발생하게 되는데 이를 위해 String 에는 valueOf라는 메서드를 제공하고 있다. 이를 사용한 결과가 어떻게 되는지 확인해보자. package String_valueOf; import java.io.ObjectInputStream.GetField; public class main { public static void main(String[] args) { //각종 타입의 변수들을 문자열로 바꾸어보자! int numInt = 100; long numLo = 1000; double numDou = 100.100; boolean flag = true; char ch = 'A'; } } 위와 같이 서로 다른..
2021-01-22 문자열 변수를 사용하다 보면 가끔씩 해당 문자를 대문자로 바꾸어야 하거나 소문자로 바꾸어야 하는 경우가 있다. 이러한 경우 String에서는 toUpperCase/toLowerCase 메서드를 이용해 바꿀 수 있는데, 오늘은 이와 같은 방법을 알아보자. package Upper_Lower; public class main { public static void main(String[] args) { // 입력받은 문자열을 대문자로 바꾸는 방법과 // 소문자로 바꾸는 방법을 알아보자. String name1 = "AAABBB"; String name2 = "aaabbb"; String name3 = "AaaBbb"; //대문자로만 구성되어있는 변수 name1 //소문자로만 구성되어 있는 ..
2021-01-21 문제 선물 포장 공장을 말아먹은 욱제는 계곡에서 백숙을 파느라 학교에 자주 가지 못한다. 하지만 월클의 인생은 피곤한 법! 욱제는 지금처럼 힘든 시기에도 자신을 기다리는 5조5억명의 열렬한 팬들을 위해 가끔씩 학교에 가 줘야 한다. 욱제는 백숙이 끓는 걸 지켜봐야 해서 가게를 오래 비울 수 없다. 그래서 욱제는 한 번 학교에 간 뒤 최소 시간동안 머물다가 모든 팬들과 한 번씩 인사를 하고 학교를 떠나려고 한다. 욱제는 임의의 시각에 학교에 오거나 학교를 떠날 수 있고, 단 한 번의 왕복만 한다. 동시에 여러 팬들에게 인사를 끝낼 수도 있다. 욱제는 잘생겨서 인사하면 팬들이 심쿵사로 바로 쓰러지기 때문에 인사를 하는데 소요되는 시간은 0이라고 하자. 예를 들어 3명의 팬 A, B, C가..
2021-01-19 기존에 변수나 배열과 같은 경우에는 새로운 객체를 만들어서 복사를 진행하면 된다. 그러면 클래스를 복사해서 사용하고자 하면 어떻게 해야 할까? ctrl + c -> ctrl + v를 사용해서 새로운 클래스를 만들어 사용하면 될까?라고 생각할 수 도 있지만 자바 자체에서 이와 같은 고민을 해결해주기 위해 Cloneable이라는 인터페이스를 제공한다. 즉 복사를 하고자 하는 클래스에 implements Cloneable를 붙여주면 이와 같은 클래스를 사용할 수 있다. 바로 코드를 살펴보자. package tThinClone.copy; import java.util.Arrays; public class People implements Cloneable { String name; int ag..
2021-01-18 문제 방탈출 게임을 하던 혜민이는 마지막 문제에 봉착했다. 단서는 다음과 같다. 앞에는 일렬로 놓여진 N개의 버튼이 모두 불이 꺼진 상태로 있다. 0 또는 1로 구성되어 있는 N자리 수가 적힌 쪽지가 있다. 0은 불이 꺼진 버튼, 1은 불이 켜진 버튼을 뜻한다. 불이 켜져 있는 버튼을 누르면 불이 꺼지고, 불이 꺼져 있는 버튼을 누르면 불이 켜진다. 버튼을 누르면 그 버튼 뿐만이 아닌 오른쪽 두 개의 버튼도 같이 눌린다. 혜민이는 현재 모두 불이 꺼진 상태에서 버튼을 최소로 눌러서 쪽지와 똑같은 상태로 만들어야 한다는 것을 알아냈다! 혜민이를 도와줘서 방탈출 게임에 성공하자. 입력 첫째 줄에 N(1 ≤ N ≤ 1,000,000)가 주어지고 둘째 줄에는 쪽지에 적혀 있는 N자리의 수가 ..
2021-01-17 DecimalFormat은 다양한 숫자 데이터를 자신의 원하는 형식으로 나타낼 수 있도록 도와준다. 오늘은 이와 같은 클래스의 사용법을 알아보자. package tFormat; import java.text.DecimalFormat; public class main { public static void main(String[] args) { // 0 10진수의 빈자리는 0으로 채운다. // # 10진수의 빈자리는 채우지 않는다. // . 소수점을 표현 ex) #.0 double num = 11111.1111; DecimalFormat df = new DecimalFormat("0"); System.out.println(df.format(num)); //소숫점 표시안해주어 출력안됨 df..