java 33

[Java] 오름차순, 내림차순 정렬

오름차순, 내림차순 정렬 1. 오름차순 import java.util.Arrays; Arrays.sort(배열명); 랜덤으로 0 ~ 99까지의 정수를 score 배열에 저장한 뒤 오름차순으로 정렬하여 출력하는 알고리즘입니다. import java.util.Arrays; public class Main { public static void main(String[] args) { int[] score = new int[8]; System.out.print("Before -> "); for(int i = 0; i < score.length; i++) { score[i] = (int)(Math.random() * 100); System.out.print(score[i] + " "); } System.out.pr..

JAVA 2022.08.17

[백준 - Java] 2529번 - 부등호

2529번 - 부등호 main, dfs, comp 함수로 구성 dfs 함수는 재귀적으로 사용 (void) comp 함수는 왼쪽, 오른쪽 정수가 부등호에 부합하는지 true, false로 반환 (boolean) import java.io.*; import java.util.*; public class Main { static int k; static boolean[] visit; static List output = new ArrayList(); static StringBuilder sb; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(S..

Baekjoon 2022.08.17

[백준 Java] 10808번 - 알파벳 개수

10808번 - 알파벳 개수 BufferedReader를 사용하여 단어 S를 입력한다. 알파벳 개수를 나타낼 arr 배열을 선언한다. (길이는 알파벳 개수만큼!) 아스키코드를 사용하여 알파벳의 해당 인덱스를 1씩 더해준다. 마지막으로 반복문을 사용하여 append하고 sb를 출력한다. import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); String S ..

Baekjoon 2022.08.02

[자바] KeyListener + Scanner

Scanner로 문자 입력받아 창에 쓰기 + 키코드 출력 KeyListener를 설명하는 글과 동일한 틀을 사용했습니다. 다른 것은 메인메소드입니다. 메인메소드에 Scanner 클래스를 사용하여 콘솔 창에 문자를 입력하면 프레임 창에 표시되도록 코드를 작성하였습니다. 이 코드를 작성하여 " myFrmae3.area.setText(inputUser); " inputUser에 입력된 문자를 setText 메소드를 통해 area에 표시되도록 하였습니다. import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.Scanner; import javax.swing.JFrame; import javax.swing.JTextA..

JAVA/GUI 2021.07.20

[자바] 콜백(CallBack) - JFrame

콜백(CallBack)을 왜 사용하는가? 특정 조건이 있고, 이 조건을 만족할 때마다 기능을 수행한다고 하자. 콜백을 사용하면 이벤트가 발생하여 특정 조건을 만족시켰을 경우, 콜백 함수를 호출하여 바로 기능을 수행할 수 있다. 콜백 함수는 바로바로 사용할 수 있으며, 조건이 맞는지 틀린지 확인하는 과정을 거치지 않아도 되기에 효율적이다. 만약, 콜백을 사용하지 않고 계속 객체에 접근하는 방식으로 코드를 작성하였다고 하자. 해당 객체에 어떠한 오류가 발생할 경우 그 객체부터 접근하는 과정까지 모두 수정이 필요할 수 있다. 콜백이라는 개념을 사용하면 객체의 주소만 연결시켜주면 바로 기능을 수행할 수 있다. * 이번 글에서는 수업 예제인 콜백을 GUI코드로 예시를 들고, 다음 글에서 GUI를 제외한 콜백 코드..

JAVA/GUI 2021.07.19

[자바] JFrame 이미지 추가하기 - 슈퍼마리오(1)

슈퍼마리오 배경과 캐릭터 이미지 추가하여 프레임 꾸미기 JFrame을 상속받은 MyImage 클래스를 선언 JPanel을 상속받은 MyPanel 내부 클래스를 선언 생성자와 initData, setInitLayout 메소드를 선언 내부 클래스에서 paintComponent 메소드를 오버 라이딩하여, 배경화면과 캐릭터 1, 2, 3을 프레임에 추가 import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; class M..

JAVA/GUI 2021.07.17

[자바] KeyListener

키보드를 아무거나 눌렸을 때, 해당 키의 키 코드 출력 코드 작성하기 어떠한 키를 입력하면 해당 키 코드와 키가 출력됨 Frame을 상속받고, KeyListener을 인터페이스로 받음 JTextArea를 사용하여 텍스트 입력 영역을 만듦 e.getKeyCode, e.getKeyChar 메소드를 사용하여 keycode와 keychar를 리턴함 import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JTextArea; class MyKeyEvent extends JFrame implements KeyListener{ JTextArea area; //창에 텍스트 영..

JAVA/GUI 2021.07.15

[자바] JPanel

JFrame을 상속받아 JPanel, JButton을 사용하는 코드 작성하기 import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; class MyPaner extends JFrame { JPanel panel1; //JPanel 타입으로 panel 변수 선언하기 JPanel panel2; JPanel panel3; JPanel panel4; JButton button1; //JButton 타입으로 button 변수 선언하기 JButton button2; JButton b..

JAVA/GUI 2021.07.15

[자바] JButton 만들기 + 클릭 이벤트

Button 5개 생성하여 동, 서, 남, 북, 중앙으로 배치하는 코드 작성하기 import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; class MyLayout extends JFrame{ //JFrame 상속받기 JButton button1; //JButton 타입으로하고, 변수명을 button1로 선언함. JButton button2; JButton button3; JButton button4; JButton button5; public MyLayout() { initData(); setInitLayout(); } private void initData() { this.setTitle("Button 위치..

JAVA/GUI 2021.07.14