ArrayList를 처음 배울때 만들어봤었던 콘솔 Stack , Pop입니다. ArrayList의 add메서드와 remove메서드를 활용하면 쉽게 구현이 가능합니다. Main.java import java.util.Scanner; public class Main { public static void main(String[] args) { Queue qu = new Queue(); Stack st = new Stack(); while(true){ System.out.println("1.스택 2.큐"); Scanner sc = new Scanner(System.in); int select = sc.nextInt(); switch (select) { case 1: System.out.println("1.푸쉬 ..
자바를 초창기때 배웠을때 만들어봤었던 콘솔 성적관리 프로그램입니다. 지금 보면 정말 별거아니지만 그 당시 밤을 새워가며 열심히 코딩했었던 기억이 나네요. 그때가 정말 그립습니다. ㅎㅎㅎ 프로그램 구조는 HashMap 이런식으로 되어있습니다. Student클래스에 학생성적의 정보를 담아두고 Map을 put하거나 remove하는 방식입니다. Main.java package CollectionScore; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Score score = new Score(); int i=0; while(true){ ..
10개의 문자열을 입력받고 알파벳(사전) 순으로 정렬하는 문자열을 변형하는 알고리즘입니다. 문자열을 입력하면 알파벳순으로 정렬하여 출력하는 알고리즘 #include #include #include int convert_string(const void *a, const void *b) { return strcmp((char *)a, (char *)b); } int main() { char s[10][8]; for(int i=0;i
배열의 최대값 최소값 구하기 For문을 활용한 방법 //최대값 최소값을 구할 int배열 int array[] = {4,3,2,1,10,8,7,6,9,5}; int max = array[0]; //최대값 int min = array[0]; //최소값 for(int i=0;i
배열이란 동일한 자료형으로 선언된 데이터 공간을 메모리 상에 연속적으로 나열하여 데이터 관리의 효율성을 높이는 것입니다. 변수는 한개의 데이터만 저장할 수 있습니다. 따라서 저장해야 할 데이터의 수가 많아지면 그만큼 많은 양의 변수를 선언해줘야하는 비효율성이 발생하죠. 그렇기에 좀 더 효율적인 방법이 필요한데 이것이 배열입니다. 배열은 같은 타입의 데이터를 연속된 공간에 나열시키고 각 데이터에 인덱스(index)를 부여해 놓은 자료구조입니다. 여러가지 배열 선언 //int 타입 배열 선언 int[] i_array; int i_array[]; //배열 생성후 초기화하면 배열의 주소가 할당된다. int[] i_array = new int[8]; //초기값 0 String[] s_array = new Stri..
BufferedReader/BufferedWriter는 Buffer에 있는 IO 클래스입니다. 입력된 데이터가 바로 전달되지 않고 중간에 버퍼링이 된 후에 전달되됩니다. 출력도 마찬가지로 버퍼를 거쳐서 간접적으로 출력장치로 전달되기에 시스템의 데이터처리 효율성을 높여주며 버퍼스트림을InputStreamReader / OutputStreamWriter를 같이 사용하여 버퍼링을 하게 되면 입출력 스트림으로부터 미리 버퍼에 데이터를 갖다 놓기 때문에 보다 효율적인 입출력이 가능합니다. BufferedReader Java를 처음 접하시는 분들이 주로 받는 입력방식은 Scanner입니다. Scanner를 통해 입력을 받을경우 Space Enter를 모두 경계로 인식하기에 입력받은 데이터를 가공하기 매우 편리합니다..
이번 포스팅에서는 자바에서 긴 소수를 반올림하여 n번째 자리까지 나타내는 방법에 대해 알아보겠습니다. 여러가지 방법이 있겠습니다만 Math.round();함수를 활용하거나 String.format(); 함수를 활용하는것이 대표적인 방식입니다. Math.round() Math함수의 round()함수는 실수의 소수점 첫번째 자리를 반올림하여 정수로 리턴시켜줍니다. 하지만 이 메서드를 잘 활용하면 소수점 몇번째 자리까지 나타내는것도 가능합니다. 예를들어 33.777*100을 하면 3377.7가 되겠죠. 여기서 round를 적용시키면 3378이라는 정수가 리턴될것입니다. 여기서 다시 100.0을 나눠주면 실수로 적용되어 나옵니다. (33.78이 나오게 됩니다.) 소수점 둘째 자리까지 나타내고싶으시면 100.0을..
저는 문자열을 자를때 Split 함수를 즐겨쓰는데요. 오늘 몰랐던 사실 하나를 발견해서 포스팅합니다. 바로 Split함수에서 \n 개행단위로 문자열을 자르는 방법인데요. 당연히 문자열.split("\n");이렇게 하면 될줄 알았는데 안먹히더라구요. 알고보니 split함수에서 개행단위로 문자열을 끊으려면 문자열.split("\\n"); 이렇게 써주셔야 컴퓨터가 인식한다고 합니다. Split \n 개행단위로 문자열 자르기 예제 public class split_ex { public static void main(String[] args) { String target ="동해물과 백두산이 \n마르고 닳도록\n하나님이 보우하사 우리나라만세\n"; String[] change_target = target.spli..
MFC란? - 마이크로소프트 파운데이션 클래스 라이브러리(Microsoft Foundation Class Library)는 C++용 프로그램 라이브러리입니다. - 윈도용 응용 프로그램의 통합 개발 환경인 마이크로소프트 비주얼 C++에 부속되는 클래스 라이브러리입니다. - MFC를 사용하면 코딩의 효율을 극대화 시킬 수 있어 대부분의 C++ 개발자들이 사용합니다. MFC의 특징 객체 지향 프로그래밍 - C++의 특성을 그대로 이어받습니다. (객체지향, C++의 모든 문법) - 윈도우의 Object를 포함하는 시각적 객체를 사용합니다. 이벤트 처리방식 사용자 또는 시스템이 윈도우에 어떠한 동작을 했을 경우 그에 대응하여 움직이는 사건의 중심의 프로그램을 하며 (이것을 Event Driven Programmi..
C# 윈도우 폼으로 만든 메모장 프로그램입니다. 열기,저장, 실행취소, 인쇄, 잘라내기, 복사, 붙여넣기, 자동줄맞춤 등등 실제 메모장에있는 대부분의 기능이 구현되어있습니다. 메모장 소스코드 프로그램 UI [C#] .NET (닷넷 프레임워크)이란 무엇인가? [C#]으로 만드는 간단한 윈도우 폼 계산기 프로그램
C# 윈도우 폼으로 만든 단순한 사칙연산 계산기 프로그램입니다. 소스코드 올려드릴테니 필요하신 분 참고하시기 바랍니다. C#을 처음공부하시는분 윈도우 프로그램을 처음으로 만들어보시는분에게 참고용으로 좋을예제일듯 합니다. 계산기 프로그램 소스코드 프로그램 UI [C#] .NET (닷넷 프레임워크)이란 무엇인가? [C#]으로 만드는 윈도우 폼 메모장 프로그램
닷넷(.NET)이란? 닷넷 프레임워크(.NET Framework)는 마이크로소프트사에서 제공하는 윈도우 프로그램 개발 및 실행환경입니다. 네트워크 작업, 인터페이스 등의 많은 작업을 캡슐화하여 코딩의 효율성을 증대시켰습니다. .NET의 특징은 CLS(닷넷 프레임워크의 언어가 반드시 지켜야 하는 언어 스펙)을 따르는 언어라면 어떠한 언어라도 닷넷 프레임워크에서 실행 가능하며 CLR이라는 가상 기계 위에서 작동하기 때문에 플랫폼에 독립적이며 궁극적으로 프로그래머가 코딩(특히 윈도우 프로그램)을 하는데 더 편한 환경을 제공해줍니다. 닷넷(.NET)이 나온배경 2000년대 들어서며 썬마이크로시스템즈(현오라클)의 자바가 새로운 차세대 언어로 각광받으면서 마이크로소프트측에서도 자바의 장점을 수용하여 새로운 언어를 ..
문자열에있는 숫자를 계산하고 싶은경우, 스트링변수에 Int값을 넣고싶은경우등등 코딩을 하다보면 어떤 변수형을 다른 형으로 강제 치환해야 할 경우가 많습니다. 이번글에서는 자바의 형변환에 대해 포스팅하겠습니다. 문자 -> 숫자 1. String to Int 가장 많이 사용한다고 생각됩c니다. 자바 Integer클래스의 parseInt함수와 valueOf 함수로 변환 시켜줄 수 있습니다. --Integer.paseInt(String값) --Integer.valueOf(String값) String s_num = "10"; int i_num = Integer.parseInt(s_num); --String -> Int 1번방식 int i_num2 = Integer.valueOf(s_num); --String ->..