728x90 반응형 분류 전체보기229 [JAVA] Buffer를 사용한 txt 저장 입력 package Ex01; import java.io.BufferedOutputStream; import java.io.FileOutputStream; public class BufferOutEx { public static void main(String[] args) throws Exception{ BufferedOutputStream bs=null; bs=new BufferedOutputStream(new FileOutputStream("bs.txt")); String str="자바의 입출력을 향상시키는 버퍼의 기능"; bs.write(str.getBytes()); bs.close(); } } 출력 package Ex01; import java.io.FileInputStream; public cl.. 2022. 10. 25. [JAVA] swing을 사용한 txt파일 저장 입력 package Ex01; import java.awt.*; import java.awt.event.*; import java.io.DataOutputStream; import java.io.FileOutputStream; import javax.swing.*; class GUI1 extends JFrame implements ActionListener{ private JTextField jtf; private JTextArea jta; public GUI1() { JButton jb = new JButton("파일로 저장"); jtf = new JTextField("파일 이름을 입력하세요", 20); jta = new JTextArea("파일의 내용을 입력하세요", 10, 20); Container.. 2022. 10. 25. [JAVA] 예외처리 코드 public class ArrayIndexEx { public static void main(String[] args) { String data1 = args[0]; String data2 = args[1]; System.out.println("args[0] : " + data1); System.out.println("args[1] : " + data2); } } 결과 Run - Debug Cofigurations - Arguments 창을 열어서 이렇게 입력해주면 화면에 이렇게 출력이 된다. 다중 catch 발생하는 예외별로 예외 처리 코드를 다르게 하는 다중 catch 블록이다. catch 블록의 예외 클래스 타입은 try 블록에서 발생된 예외의 종류 말한다. try 블록에서 해당 타입 예외가 .. 2022. 10. 14. [백준] 10818번 : 최소, 최대 - JAVA[자바] 문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int num[] = new int[n]; for.. 2022. 10. 13. [JAVA] Swing : MouseEvent package SwingEx; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class MouseEvent extends JFrame{ private JLabel la = new JLabel("Hello"); public MouseEvent(){ Container c = getContentPane(); c.setLayout(null); //위치값 필요 c.addMouseListener(new MyMouseListener()); la.setSize(50,20); la.setLocation(30,30); c.add(la); this.setSize(250, 250); this.setDefaultCloseOperation(EXI.. 2022. 10. 13. [JAVA] Swing : 외부선언, 내부선언 외부클래스 package SwingEx; import java.awt.*; import javax.swing.*; import java.awt.event.*; class EventClass implements ActionListener { private JLabel jl; public EventClass(JLabel jl){ this.jl = jl; } @Override public void actionPerformed(ActionEvent e) { jl.setText(e.getActionCommand()); } } public class EventTest3 extends JFrame{ JLabel jl; JButton jb1, jb2; public EventTest3 (){ Container ct = .. 2022. 10. 13. [JAVA] Swing의 JFrame Ex01. JButton package SwingEx; import java.awt.*; import javax.swing.*; //swing에서 제공하는 java프레임 public class MyFrame2 extends JFrame{ public MyFrame2 (){ Container ct = getContentPane(); JButton jb = new JButton("첫번째 버튼"); ct.add(jb); this.setSize(300, 400); //크기설정 this.setDefaultCloseOperation(EXIT_ON_CLOSE); //닫기 버튼 기능 : J프레임에서 제공 this.setVisible(true); //창화면 보이기 } public static void main(Strin.. 2022. 10. 13. [JAVA] AWT와 Swing java.awt.Frame extends Frame을 작성하면 java.awt.Frame을 임포트 시킬 수 있다. 여기서 awt는 Abstract Window Toolkit이라는 뜻이다. 자바의 본 플랫폼에 의존하는 윈도, 그래픽스, 사용자 인터페이스 위젯 툴킷으로, 자바 프로그램을 위한 그래픽 사용자 인터페이스(GUI)를 제공한다. package SwingEx; import java.awt.Frame; public class MyFrame extends Frame{ public static void main(String[] args) { Frame f = new Frame("처음 만드는 자바 프로그램"); //제목설정 f.setSize(300, 400); //크기설정 f.setResizable(fals.. 2022. 10. 13. [JAVA] 추상(abstract) 클래스와 오버라이딩 추상 클래스와 추상 메소드의 오버라이딩을 이용하면 더욱 효율적인 다형성을 구현할 수 있다 abstract class Figure{ abstract void draw(); } class Triangle2 extends Figure{ @Override void draw() { System.out.println("다형성 : 삼각형을 그린다."); } } class Rectang2 extends Figure{ @Override void draw() { System.out.println("다형성 : 사각형을 그린다."); } } class Oval2 extends Figure{ @Override void draw() { System.out.println("다형성 : 타원형을 그린다."); } } class Pol.. 2022. 10. 13. [JAVA] 추상화 abstract 추상화는 복잡한 문제들 중에 공통적인 부분을 추출하여 추상 클래스로 제공하고, 상속을 이용하여 나머지 클래스들을 하위 클래스로 제공하는 기법이다. 추상화는 다음과 같이 선언한다. abstract class 클래스명{ abstract void 메소드명(); } 일반적인 클래스와 메소드의 경우는 이렇게 서술했다. class Shape{ void draw() {}; void computerArea(double a, double b){}; } 하지만 추상화에서 이대로 abstract 선언을 하면 에러가 난다. 규칙1. abstract 선언은 선언부만 기술하고 기능 기술은 상속받은 자식 클래스에서 해야한다. {} 부분을 삭제해주면 에러가 나지 않는다. 수정후 abstract class shape{ //abstra.. 2022. 10. 13. [JAVA] 다형성 class Animal{ void speak() { System.out.println("한 번 짖어봐"); } void cry() { System.out.println("동물들이 소리를 냅니다."); } } class Bird extends Animal{ @Override void cry() { System.out.println("짹짹~~"); } } class Cat extends Animal{ @Override void cry() { System.out.println("야옹"); } } class Dog extends Animal{ @Override void cry() { System.out.println("멍멍"); } } public class MethodOverriding2 { public st.. 2022. 10. 13. [백준] 10952번 : A+B - 5 - JAVA[자바] 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 입력의 마지막에는 0 두 개가 들어온다. 출력 각 테스트 케이스마다 A+B를 출력한다. 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(true) { int a = sc.nextInt(); int b = sc.nextInt(); if(a==0 && b==0) break; Syst.. 2022. 10. 12. [JAVA] Object 클래스 2022.10.12 - [자바/개념정리] - [JAVA] 상속과 생성자 [JAVA] 상속과 생성자 클래스의 상속에서 생성자는 상속되지 않는다. 다만, 다음과 같은 특성을 가진다 하위 클래스에 생성자가 없거나 묵시적 생성자가 있는 경우, 하위 클래스로부터 객체가 생성될 때 상위 클래스 jjh93.com Object 클래스는 java.lang 패키지에 속해 있는 라이브러리 클래스로 모든 자바 클래스의 최상위 클래스이다. class AAA{ public int a; } public class ObjectMethodTest1 { public static void main(String[] args) { AAA aa = new AAA(); System.out.println(aa); System.out.println.. 2022. 10. 12. [JAVA] Super Super 첫 번째는 하위 클래스에 의해 가려진 상위 클래스의 멤버 변수나 메소드에 접근할 때 사용 두 번째는 상위 클래스의 명시적 생성자를 호출하기 위해 사용 하위 클래스에 의해 가려진 상위 클래스의 멤버 변수나 메소드에 접근할 때 코드 class D1{ public int x = 1000; public void display() { System.out.println("상위 클래스 D1의 display() 메소드입니다."); } } class D2 extends D1{ public int x = 2000; public void display() { System.out.println("하위 클래스 D2의 display() 메소드입니다."); } public void write() { display(); .. 2022. 10. 12. [JAVA] 상속과 메소드 오버라이딩(overriding) 생성자 내의 오버로딩과는 다르다. 2022.10.07 - [자바/개념정리] - [JAVA] 생성자 - 묵시적 생성자, 명시적 생성자 [JAVA] 생성자 - 묵시적 생성자, 명시적 생성자 생성자란 생성자는 객체가 만들어 질 때 자동 실행이 되는 것으로, 객체를 생성 할 시 초기화를 담당하는 기능이다. 생성자의 이름이 클래스의 이름과 같아야한다. 묵시적 생성자 묵시적 생성자 jjh93.com 메소드 오버라이딩(overriding) 상속 관계에 있는 클래스들 간에 같은 이름의 메소드를 정의하는 경우이를 오버라이딩(overriding)이라고 한다. 오버라이딩은 상위 클래스의 메소드를 하위 클래스의 메소드로 교체하는 것이다. 상위 클래스의 메소드와 하위 클래스의 메소드가 메소드 이름은 물론 매개변수의 타입과 개수.. 2022. 10. 12. [JAVA] 상속과 생성자 클래스의 상속에서 생성자는 상속되지 않는다. 다만, 다음과 같은 특성을 가진다 하위 클래스에 생성자가 없거나 묵시적 생성자가 있는 경우, 하위 클래스로부터 객체가 생성될 때 상위 클래스의 묵시적 생성자가 먼저 수행. 하위 클래스에 명시적(매개변수가 있는) 생성자만 있는 경우, 하위 클래스로부터 객체가 생성될 때 상위 클래스의 묵시적 생성자가 먼저 수행. 하위 클래스에 묵시적, 명시적 생성자가 모두 있거나 명시적 생성자만 있는 경우, 상위 클래스에는 생성자가 없거나 반드시 묵시적 생성자가 있어야 한다. 상위 클래스에 명시적 생성자만 있는 경우 오류 발생. 이런 클래스가 존재한다고 했을 때 class DB1{ public double d1; public DB1() { System.out.println("클래.. 2022. 10. 12. [JAVA] 상속 extends extends ectends는 상속의 대표적인 형태이다. 상위 클래스의 속성과 기능을 하위 클래스에 상속시키고 하위 클래스에는 새로운 기능과 속성을 추가한다. ectends 통해 검색, 확장, 변경이 쉬워진다는 장점이 있다. 형식은 다음과 같다. class 클래스명 extends 상위클래스명{ } Ex01. 코드 class C1{ private static int x = 100; public static int y = x; static int z = x; public static int cc() { return x; } } class C2 extends C1{ public static String x; static int y; } public class InheritanceTest3 { public st.. 2022. 10. 11. [JAVA] 전화번호북 [ Phone ] Class 코드 public class Phone { private String name; private String tel; private String add; public Phone(String name, String tel, String add) { this.name=name; this.tel=tel; this.add=add; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTel() { return tel; } public String getAdd() { return add; } public void setTel(String.. 2022. 10. 11. 이전 1 ··· 7 8 9 10 11 12 13 다음 728x90 반응형