반응형

프로그래밍 언어/JAVA 26

<JAVA> Optional

김영한 선생님의 인프런 강의 스프링 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술을 듣던 중에 MemberRepository를 짜던 도중에 나온 Optional를 처음 봤습니다. 처음 본 제네릭을 보고 그냥 넘어갈 수는 없어 Optional에 대해서 찾아보았습니다. 역시 자바의 정석 유튜브에서 그에 대해 상세히 설명을 해주셨습니다. 사실 제 블로그보다는 자바의 정석 유튜브-Optional 편을 보시는 것이 훨씬 나으실 겁니다. 저는 그냥 배운것을 정리하기 위해 씁니다. Optional는 간단히 이야기 하자면 "NullPointException"의 발생을 좀 더 간단하고 깔끔하게 예외처리를 해주기 위해 사용하는 제네릭입니다. 예를 들자면, NullPointException가 발생..

<Java> swing 메뉴 클릭이 되지 않는 문제 해결하기

메뉴를 누르면 상호작용을 하게 코드를 짰다고 생각했지만 상호작용을 하지 않는 분들을 위한 팁입니다. 저도 swing 과제를 하면서 이 문제에 부닥쳤습니다. 교과서에 나온 것처럼 e.getActionCommand와 switch문을 써봤지만 아무리 메뉴를 눌러도 꿈쩍도 않습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 private void createMenu() { JMenuBar mb = new JMenuBar(); JMenu screenMenu = new JMenu("만든분"); screenMenu.addActionListener(new MenuActionListener()); JMenu add = new JMenu("단어 추가"); ..

<JAVA> 중복되지 않는 무작위 숫자 만들기 Math.random()

아직 프로그램을 배운지 얼마 안된 학생으로써 JAVA에서는 생각보다 중복되지 않는 무작위 숫자를 만들기가 어려웠습니다. 이해도 잘 되지 않고 복잡하기에 쓰기가 쉽지 않았습니다. 그러한 어려움을 겪는 분들에게 조금이라도 도움이 되기를 바라며 지금까지 제가 배우면서 사용할 수 있었던 중복되지 않는 무작위 숫자를 만드는 법을 공유합니다. 1. 전체 함수 2. boolean exists(int n[], int index) 함수 part (4번줄 ~ 11번 줄) 해설 3. 메인 메소드 해설(13번줄~23번줄) 제가 생각할 때 가장 확실한 방법으로는 배열과 do while 문 그리고 boolean 함수를 만들어서 만드는 것이 가장 정확했습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ..

<Java>명품 Java programming 7장 1번 ~ 6번

1. Scanner 클래스로 -1이 입력될 때까지 양의 정수를 입력받아 벡터에 저장하고 벡터를 검색하면 가장 큰 수를 출력하는 프로그램을 작성하라. [실행결과] 정수(-1이 입력될 때까지)>>10 6 22 6 88 77 -1 가장 큰수는? 88 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 package practice07_01; import java.util.Vector; import java.util.Scanner; public class answer07_01 { public static void main(String[] args) { // TODO Auto-generated method st..

<Java> 자바의 정석 9장 1~4,7번

1.다음과 같은 실행결과를 얻도록 SutdaCard 클래스의 equals()를 멤버변수인 num,isKwang의 값을 비교하도록 오버라이딩하고 테스트 하시오. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 public class Exercise9_1 { public static void main(String[] args) { // TODO Auto-generated method stub SutdaCard c1 = new SutdaCard(3,true); SutdaCard c2 = new SutdaCard(3,true); System.out.println("c1="+..

<Java> 명품 Java programming 6장 9~11

9. 철수와 컴퓨터의 가위바위보 게임을 만들어보자. 가위, 바위, 보는 각각 1,2,3 키이다. 철수가 키를 입력하면, 동시에 프로그램도 Math.Random()을 이용하여 1,2,3 중에 한 수를 발생시키고 이것을 컴퓨터가 낸 것으로 한다. 그런 다음 철수와 컴퓨터 중에 누가 이겼는지 판별하여 승자를 출력하라. [실행결과] 철수[가위(1), 바위(2), 보(3),끝내기(4)]>>1 가위 : 가위 비겼습니다. 철수[가위(1), 바위(2), 보(3),끝내기(4)]>>2 바위 : 가위 철수가 이겼습니다. 철수[가위(1), 바위(2), 보(3),끝내기(4)]>>3 보 : 가위 컴퓨터가 이겼습니다. 철수[가위(1), 바위(2), 보(3),끝내기(4)]>>4 종료합니다. [풀이] 1 2 3 4 5 6 7 8 9 ..

<Java> 명품 Java Programming 실습문제 6장 1 - 8

1. 다음 main()이 실행되면 아래 예시와 같이 출력되도록 MyPoint 클래스를 작성하라. 1 2 3 4 5 6 7 8 9 10 11 public static void main(String[] args) { MyPoint p = new MyPoint(3,50); MyPoint q = new MyPoint(4,50); System.out.println(p); if(p.equals(q)) System.out.println("같은점"); else System.out.println("다른점"); Colored by Color Scripter cs [실행결과] Point(3,50) 다른점 [풀이] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class MyPoint{ int x; i..

<JAVA> 명품 JAVA Programming 5장 실습문제 9번, 10번, 11번

9번. 다음 Stack 인터페이스를 상속받아 실수를 저장하는 StringStack 클래스를 구현하라. 1 2 3 4 5 6 interface Stack{ int length(); //현재 스택에 저장된 개수 리턴 int capacity(); //스택의 전체 저장 가능한 개수 리턴 String pop(); //스택의 촙에 실수 저장 boolean push(String val); //스택의 촙에 저장된 실수 리턴 } Colored by Color Scripter cs 그리고 다음 실행 사례와 같이 작동하도록 StackApp 클래스에 main()메소드를 작성하라. [실행결과] 총 스택의 저장 공간의 크기 입력>>3 문자열 입력>>hello 문자열 입력>>sunny 문자열 입력>>smile 문자열 입력>>hap..

<JAVA> 명품 JAVA Programming 5장 실습문제 3- 4번

다음은 단위를 변환하는 추상 클래스 Converter이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import java.util.Scanner; abstract class Converter { abstract protected double convert(double src); // 추상 메소드 abstract protected String getSrcString(); // 추상 메소드 abstract protected String getDestString(); // 추상 메소드 protected double ratio; // 비율 public void run() { Scanner scanner = new Scanner(System.in); System.out.println(..

<Java> 명품 Java programming 5장 5번, 6번, 7번, 8번

[5~8] 다음은 2차원 상의 한 점을 표현하는 point 클래스이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class Point{ private int x,y; public Point(int x, int y) { this.x = x; this.y = y; } public int getx() { return x; } public int gety() { return y; } protected void move(int x, int y) { this.x = x; this.y = y; } } Colored by Color Scripter cs 5. point를 상속받아 색을 가진 점을 나타내는 ColorPoint 클래스를 작성하라. 다음 main()메소드를 포함하..

반응형