분류 전체보기 70

백준 자바 10988

package Baekjoon; import java.util.Scanner; public class pald { public static void main(String [] args) { Scanner input = new Scanner(System.in); String a = input.nextLine(); StringBuilder sb = new StringBuilder(); sb.append(a); if(a.equals(sb.reverse().toString())) System.out.println(1); else System.out.println(0); } } reverse() 메소드를 사용해주었다 String에 reverse() 메소드가 있다면 좋겠지만 그렇지 않기 때문에 StringBuild..

자바 객체지향(2) (ing)

초기화와 생성자 생성자 (constructor) new 연산자를 통해서 인스턴스를 생성할 때 반드시 호출이 되고 제일 먼저 실행되는 특별한 메소드멤버필드를 초기화하는 역할을 한다생성자의 이름은 클래스 이름과 동일하게 작성한다만약 사용자가 작성하지 않으면 자동으로 default constructor가 생성된다 : 매개변수의 종류나 개수를 다르게 오버로딩해서 생성자를 여러개 만들 수 있는데, 기본 생성자 외에 다른 생성자를 하나라도 만들게되면 자동으로 만든 기본 생성자를 없애므로 생성자를 여러버전 만들 때에는 기본 생성자도 추가해주어야 에러를 방지할 수 있다생성자에는 static, final 등의 지정어를 사용하지 않는다리턴하지 않기 때문에 리턴타입도 작성하지 않는다생성자는 상속되지 않는다생성자를 따로 지정..

백준 자바 2884, 1152 / split() , StringTokenizer() 비교

2284 import java.util.Scanner; public class Main { public static void main(String [] args) { Scanner input = new Scanner(System.in); Byte H = input.nextByte(); Byte M = input.nextByte(); if(H==0) { if(M>=45 && M=45 && M44) System.out.println(H + " " + (M- 45)); else if ( M 0) System.out.println((H-1) + " " + (M+15)); else System.out.println(23 + " " + (M + 15)); input.close(); } } 더 짧..

자바 객체지향(1)

객체지향이란 객체지향 프로그래밍 = oop = objected-oriented programming -> 객체를 기반으로 프로그램을 작성하는 것 / 부품 객체를 먼저 만들고 이를 조립하여 최종 프로그램을 만드는 기법 객체지향의 특성 1) 부품화 메소드라는 부품을 이용하여 하나의 완제품인 프로그램을 만든다 이 때 메소드의 관리를 위해 연관된 메소드와 그 메소드가 사용하는 변수들을 분류하고 그룹핑하는데, 이렇게 그룹핑한 대상이 객체이다 2)은닉화(캡슐화) 겉으로 보일 것만 빼놓고 보여줄 필요가 없는 부분은 정보보호를 위해 숨기자(정보은닉) -> 외부의 잘못된 접근으로부터 객체를 보호함 사용자 인터페이스에는 꼭 보여줘야하는 것들만 꺼냄 외부 객체는 객체 내부 구조를 알지 못하며 객체가 노출해 제공하는 필드와 ..

자바 메소드

메소드 형식 접근지정자 리턴타입 메소드이름 (메소드 인자들) { //메소드 코드 바디 } ex)public (static) int getSum(int i.int j){ int sum; sum = i+j return sum; } 접근 제한자 public : 클래스 내부,외부에서 모두 호출 가능,모든 패키지에서 사용 가능 / 필드와 메소드가 public이면 클래스도 public이어야 한다 주의 : public 을 붙였다고 해서 다른 패키지에서 public 메소드를 막 사용할 수 있는 것은 아니다 ! 다른 패키지에서 public 멤버를 사용하려면 import 패키지명.클래스명; 을 위에 작성해주어야한다 import는 다른 패키지 내에 있는 클래스를 사용하겠다는 뜻이다 또한 메뉴 보이기는 리턴값이 int 인 메..

백준 자바 문자열 : 27866, 9086, 11654, 10809

27866번 import java.util.Scanner; public class Main{ public static void main(String args[]) { Scanner input = new Scanner(System.in); String s = input.next(); short j = input.nextShort(); System.out.println(s.charAt(j-1)); } } 처음에 런타임에러가 떠서 풀이들을 찾아봤는데 다들 substring() 혹은 string 타입의 배열 혹은 bufferedreader 등을 쓰길래 그런걸 써야만 런타임에러가 나지 않는것일까 고민을 잠시 했는데 코드를 다시보니 j-1 부분을 j로 써서 틀린거였다 ..^^ 코드는 이 방식이 가장 간단한 것 같은..

자바 문자열(String) 주요 메소드

String 생성자String()빈 스트링 객체 생성String(Char[] value)char 배열에 포함된 문자들을 스트링객체로 생성String(String original)인자로 주어진 스트링과 똑같은 스트링 객체 생성String(StringBuffer buffer)스트링버퍼에 포함된 문자들을 스트링객체로 생성 String 주요 메소드메소드기능리턴타입charAt()지정된 인덱스의 문자를 반환charcompareTo()해당 문자열을 인수로 전달된 문자열과 사전 순으로 비교 -> 같으면 0, 문자열이 매개변수의 문자열보다 길이가 짧거나 순서가 앞이면 음수, 길이가 길거나 뒤이면 양수값을 반환함intconcat()문자열의 끝에 매개변수의 문자열을 추가 -> 결합된 문자열을 반환Stringcontains(..

자바 문자열(String) / 스택(stack)과 힙(heap)

문자열(String)이란 문자열 : 1개 이상의 문자들로 구성된 자료형 , java에서 문자열을 나타내는 자료형은 String이다 문자열(String)의 사용 1) 리터럴 표기 String a = "java" ; -" " 안에 넣으면 문자열, ' '안에 넣으면 문자로 인식 -가독성에 이점이 있고 컴파일 시 최적화에 도움을 줌 -객체 생성없이 고정된 값을 그대로 대입하는 방법 -heap 영역 안에 있는 String Constant Pool에 저장된다 -String Constant Pool에 이미 존재하는 문자열이라면 같은 주소값을 공유한다 = 같은 내용의 문자열을 서로 다른 변수 a,b에 저장하면 String Constant Pool 내에 같은 메모리 주소를 가리킨다 -> new 키워드 사용할때와의 차이 ..

백준 자바 10952,10951

package Baekjoon; import java.util.Scanner; public class Main{ public static void main(String args[]) { Scanner input = new Scanner(System.in); while(true) { int a = input.nextInt(); int b = input.nextInt(); if(a==0 && b==0) break; System.out.println(a+b); } } } 0 0 을 입력받을때 까지 a와 b의 합을 계속해서 출력해야 하기에, 무한루프를 활용하면 쉽게 풀리는 문제다 if문과 출력문 순서를 바꿔쓰면 0 0의 합인 0도 출력되니까 if문을 꼭 출력문 앞에 써야한다 import java.util.Sca..