본문 바로가기

프로그래밍/Java

(15)
자바 양방향 그래프 dfs - 2차원 행렬, 반복문, 스택, LinkedHashSet import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String[] line = reader.readLine().split("\\s+"); // 7, 8 int vertex = Integer.parseInt(line[0]); // 노드 int edge = Integer.parse..
윤년 구하는 함수 static boolean isLeapYear(int year) { return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0); } c/c++ 이면 boolean 대신에 int를 쓰면 됨
[JAVA 자바] 숫자 자릿수 구하는 코드 방법 2가지 n번째 숫자 구하기 자릿수 구하기 "자릿수"는 어떤 숫자의 n번째에 위치한 숫자를 말한다 1의 자리, 10의 자리 이런걸 말한다 예를들어 숫자의 가장 오른쪽에 위치한 숫자를 1번째 자수라고 하자 숫자 "54321"의 숫자에서 가장 오른쪽에 위치한 숫자는 1이다 그러면 위 숫자에서 1번째 숫자는 1이라고 하는 자리수를 가진것이다 자릿수를 어디부터 할지는 인터넷에서 찾아보니 사람마다 각각인 것 같다 아래에서는 가장 일반적인 방법으로 가장 오른쪽에 위치한 숫자를 1번째 자리수라고 할거다 프로그래밍 언어에서 숫자의 자리수를 구하는 방법에는 언어마다 차이가 있을거다 파이썬은 배열의 값을 구하는 방법으로 num[n]만 해도 바로 구해지지만 그렇지 못한 언어를 사용할때는 어떻게 해야하는가 아래에서는 자바 코드에서 숫자의 n번째 자릿수를..
자바 TCP/IP 소켓 통신 서버, 클라이언트 만들기 코드 일이 있어서 자바 TCP/IP 소켓 통신 방식에 대해 잠시 공부를 했다 전에 파이썬 플라스크로 HTTP 서버를 제작했었는데 이번에는 자바의 'java.net' 패키지에서 제공하는 Socket 클래스를 이용해서 만드는 통신 서버를 만들어봤다 몇 달전에 네트워크관리사 2급 공부를 하면서 TCP랑 UDP의 차이 그리고 동기, 비동기 방식의 차이를 달달 외우기 까지 했었는데 이제와서 기억나지 않는걸 보니 내가 치매거나 제대로 공부하지 않았거나겠네 그래도 네트워크관리사2급 필기는 합격했다 ㅎㅎ Java에서 소켓 통신은 클라이언트와 서버 간의 네트워크 통신을 가능하게 하는 API입니다. Java에서 소켓 통신은 java.net 패키지에서 제공됩니다. 소켓 통신은 일반적으로 클라이언트와 서버 사이의 양방향 통신을 지..
[자바 JAVA] Server Socket 소켓 통신 한글 깨짐 해결 BufferedReader, InputStreamReader, PrintWriter, OutputStreamWriter.... JDK한글깨짐, 자바한글깨짐 보통 자바 소켓 통신에서 한글이 깨져서 출력될 때는 코드에 인코딩이 제대로 안되어 있으면 한글이 깨질 가능성이 높다고 한다. 그래서 서버와 클라이언트 모두 UTF-8 인코딩 설정을 해줘야하지만... BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); // 클라이언트와 연결된 Socket 객체에서 OutputStream을 얻어옴 OutputStream out = clientSocket.getOutputStream(); // PrintWriter 객체를 사용하여 클라이언트로 메시지를 전송함 PrintWriter writer = new PrintWriter(new OutputS..
연결리스트를 이용한 다항식을 계산하고 사용자가 입력한 문자열을 파싱하는 Polynominal 코드 만들기 자료구조 수업에서 연결리스트를 이용한 다항식 계산 프로그램을 작성하라는 과제를 받았다. https://youtu.be/UviSUv21iB8 여기 유튜브에서 하는것과 비슷하게 만들면 될듯하다 기능 1. f = 5x 같은 문자열을 입력하면 f라는 Poly 클래스를 만들고 5x Term 클래스를 만들어 Poly에 연결한다. 2. f = 6x + 7x^2 같은 문자열을 한번 더입력하면 f 자리에 6x + 7x^2을 넣는다. 3. print f를 입력하면 f 함수를 출력한다. 4. calc f 2를 입력하면 f함수에 따른 2를 계산한 결과를 출력한다. 5. f = f + g를 입력하면 함수 f와 g를 계산한 함수를 저장한다. 연결리스트를 이용하여 메모리가 가능한 한도내에 무제한으로 저장할 수 있도록 만든다. 자바..
이것이 자바다 11장 확인 문제 답 - 신용권의 Java 프로그래밍 정복 Object 클래스에 대한 설명 중 틀린 것은 무엇입니까? 4번 괄호 안을 채워보세요 hashCode(), equals() 해시코드를 리턴하세요 public class Student { private String studentNum; public Student(String studentNum) { this.studentNum = studentNum; } public String getStudentNum() { return studentNum; } @Override public boolean equals(Object obj) { if(obj instanceof Student) { Student student = (Student) obj; if(studentNum.equals(student.getStuden..
이것이 자바다 10장 확인 문제 답 - 신용권의 Java 프로그래밍 정복 예외에 대한 설명 중 틀린 것은? 4번 try-catch-finally 블록에 대한 설명 중 틀린 것은? 3번 throws에 대한 설명으로 틀린 것은 무엇입니까? 4번 throw에 대한 설명으로 틀린 것은 무엇입니까? 2번 메소드가 있을 때 예외를 잘못 처리한 것은 무엇입니까? 3번 다음 코드가 실행되었을 때 출력 결과는 무엇입니까? 10 숫자로 변환할 수 없음 10 인덱스를 초과했음 10 로그인 기능을 Member 클래스의 login() 메소드에서 구현하려고 합니다. 존재하지 않는 Id를 입력했을 경우 예외를 발생시키고 빈칸을 채워보세요 super(message); super(message); throws NotExisIDException, WrongPasswordException); throw new..