ArrayList 연습

개발/Java 2006/09/05 11:20

ArrayList라는걸 한번 써봤다
eclipse 3.2 , jdk 5.0 이어서 그런지
자동완성으로 class<Element>가 자동으로 붙었다!!

[CODE type="java"]
import java.util.ArrayList;
import java.util.ListIterator;

class Buddy{
[tab]protected String loginName = null;
[tab]protected String nickName = null;
[tab]public Buddy() {
[tab][tab]
[tab]}
[tab]public Buddy(String loginName, String nickName) {
[tab][tab]this.loginName = loginName;
[tab][tab]this.nickName = nickName;
[tab]}
[tab]public String toString(){
[tab][tab]return "LName:" + loginName + "/NName:" + nickName;
[tab]}
}

public class DStest {
[tab]
[tab]private ArrayList<Buddy> list = null;
[tab]
[tab]public DStest() {
[tab][tab]list = new ArrayList<Buddy>();
[tab][tab]
[tab]}
[tab]public void add(Buddy e)
[tab]{
[tab][tab]list.add(e);
[tab]}
[tab]public Buddy getBuddy(int idx){
[tab][tab]return list.get(idx);[tab][tab]
[tab]}
[tab]
[tab]
[tab]
[tab]public void sortList(){
[tab][tab]Buddy tmp;
[tab][tab]for(int i=0;i<list.size();i++){
[tab][tab][tab]for(int j=i;j<list.size();j++)
[tab][tab][tab][tab]if(list.get(i).nickName.compareTo(list.get(j).nickName)>0){
[tab][tab][tab][tab][tab]tmp = list.get(i);
[tab][tab][tab][tab][tab]list.set(i, list.get(j));
[tab][tab][tab][tab][tab]list.set(j, tmp);
[tab][tab][tab][tab]}
[tab][tab]}
[tab]}
[tab]
[tab]public void printList(){
[tab][tab]ListIterator<Buddy> li = list.listIterator();
[tab][tab]Buddy cur;
[tab][tab]while(li.hasNext()){
[tab][tab][tab]cur = li.next();
[tab][tab][tab]System.out.println(cur);[tab][tab][tab]
[tab][tab]}
[tab][tab]
[tab]}
[tab]
[tab]public static void main(String args[]){
[tab][tab]DStest test = new DStest();
[tab][tab]test.add(new Buddy("foobar","asdfefef"));
[tab][tab]test.add(new Buddy("thisff","dsfasdfasdf"));
[tab][tab]test.add(new Buddy("asdfaf","asdfae54ewf"));
[tab][tab]test.add(new Buddy("vzxvsd","zxvcxcerqer"));
[tab][tab]test.add(new Buddy("zxcvwe","asdfer2wera"));
[tab][tab]test.add(new Buddy("saerer","zvczxcadfwe"));
[tab][tab]test.add(new Buddy("xvas43","zxvcvawer3r"));
[tab][tab]test.add(new Buddy("cxvaer","cxvaerqwer2"));
[tab][tab]
[tab][tab]test.printList();
[tab][tab]System.out.println("========SORT=============");
[tab][tab]test.sortList();
[tab][tab]
[tab][tab]test.printList();
[tab][tab][tab]
[tab]}

}

[/HTML][/CODE]

실행결과

LName:foobar/NName:asdfefef
LName:thisff/NName:dsfasdfasdf
LName:asdfaf/NName:asdfae54ewf
LName:vzxvsd/NName:zxvcxcerqer
LName:zxcvwe/NName:asdfer2wera
LName:saerer/NName:zvczxcadfwe
LName:xvas43/NName:zxvcvawer3r
LName:cxvaer/NName:cxvaerqwer2
========SORT=============
LName:asdfaf/NName:asdfae54ewf
LName:foobar/NName:asdfefef
LName:zxcvwe/NName:asdfer2wera
LName:cxvaer/NName:cxvaerqwer2
LName:thisff/NName:dsfasdfasdf
LName:saerer/NName:zvczxcadfwe
LName:xvas43/NName:zxvcvawer3r
LName:vzxvsd/NName:zxvcxcerqer
2006/09/05 11:20 2006/09/05 11:20

[##_1C|cfile6.uf.1753A5544DC50E8C2EB28B.png|width="400" height="174" alt=""|_##]

디카나 메모리카드 등에 있는 사진파일(JPG)들을,
특정위치로 복사하는 프로그램이다.

캐논 포토브라우저인가 뭔가에 내장되있는
사진 복사하기 기능을 썼었는데
다 좋은데(?)
정작 포토브라우저 로딩시간이 엄청나게 느리다
(사진 모아둔 곳에서 시작하다보니 그 내용들을 다 표시하는데 시간이 걸린다··)

-_-a
반나절 삽질끝에 이 프로그램을 만들었다.

처음 실행시후에 Dc2Hdd.conf파일이 생성되는데
마지막 설정이 저장되므로,

프로그램 인자로 -f 를 주면 따로 묻지 않고,
바로 copy 해버리는 기능이 있다.
exe다운받기↓↓
[##_1L|2280692376.xxx||_##]

jar다운받기 ↓↓ [##_1L|cfile8.uf.174D17474DC50E8C27EC2A.jar||_##]

2006/08/21 20:42 2006/08/21 20:42

public UserManager getUserManager(String LoginName){
    try{
        ListIterator li = table.listIterator();
         UserTableElement ute;
         while(li.hasNext()){
             ute = (UserTableElement)li.next();
             if(ute.LoginName.equalsIgnoreCase(LoginName)); 
             return ute.userManager;
         }
    }catch (Exception e) {
        // TODO: handle exception
        return null;
    }
    return null;
}



덜덜덜
if문 뒤에 세미콜론(;)붙이는 실수를 해버렸다니..

이런 초보적인 실수를-┎

2006/08/04 19:52 2006/08/04 19:52

javadoc

개발/Java 2006/08/03 15:42
javadoc -d /java/doc *.java -subpackages <package1:package2>
2006/08/03 15:42 2006/08/03 15:42

수퍼클래스, 상속클래스 동시에 사용해보기

일종의 꼼수인건가 -ㅁ-

[CODE type="java"]

class superfoo{
[tab]protected String bar() {
[tab][tab]return "덜덜덜";
[tab]}
}

public class foo extends superfoo{
[tab]public String superbar(){
[tab][tab]return super.bar();[tab][tab]
[tab]}
[tab]public String bar(){
[tab][tab]return "후덜덜";
[tab]}
[tab]
[tab]public static void  print(String msg){
[tab][tab]System.out.println(msg);
[tab]}
[tab]
[tab]public static void main(String[] args){
[tab][tab]foo ppp = new foo();

[tab][tab]print(ppp.superbar());
[tab][tab]print(ppp.bar());
[tab]}
}

[/HTML][/CODE]

2006/08/03 13:39 2006/08/03 13:39

[CODE type="java"]

public static void main(String args[]){

[tab]for(int i='ㄱ';i<='ㅎ';i++)
[tab]{
[tab][tab]System.out.print( (char)i);
[tab]}
}

[/HTML][/CODE]
위 코드의 실행 결과는?

무척이나 황당스러운 코드이겠지만
실행이 되는걸 목격했다-_-;

ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ

어쩌면 이와 비슷한 코드를 이따금씩 사용했을런지도 모른다
[CODE type="c"]
int i;
for(i='A';i<='Z';i++)
[tab]printf("%c",i);
}
[/HTML][/CODE]

자바에서 저렇게 한글로 써도 에러없이 실행이 되다니 ····
아마도 내부적으로 유니코드를 사용하기 때문이 아닐까 생각해본다.

2006/07/19 22:15 2006/07/19 22:15

conf reader

개발/Java 2006/07/19 13:54
[CODE type="java"]
if(data.canRead()){
[tab]try {
[tab][tab]
[tab][tab]String line;
[tab][tab]String item, value;
[tab][tab]Scanner sc = new Scanner(data);
[tab][tab]
[tab][tab]int idx;
[tab][tab]
[tab][tab]while(sc.hasNextLine()){
[tab][tab][tab]line = sc.nextLine();
[tab][tab][tab]if(line.trim().startsWith("#"))
[tab][tab][tab][tab]continue;
[tab][tab][tab]idx = line.indexOf('=');
[tab][tab][tab][tab][tab][tab][tab][tab][tab]
[tab][tab][tab]item = line.substring(0,idx).trim();
[tab][tab][tab]value = line.substring(idx+1).trim();
[tab][tab][tab]
[tab][tab]}
[tab][tab]
[tab][tab]
[tab]} catch (FileNotFoundException e) {
[tab][tab]
[tab][tab]e.printStackTrace();
[tab]}
[tab]
}
}[/HTML][/CODE]
2006/07/19 13:54 2006/07/19 13:54

java에서 디렉토리(폴더)를 만들때는 어떻게 하면 될까...

이 소스를 보고 있자니 c에서는 어떻게 처리를 해 주는지 궁금해졌다
dos(Windows), Xnix 에서의 표현방법의 차이에따라

두가지 방식이 다 되는지 테스트를 해 보았다
dos(windows) 식으로 쓸려면 \가 포함이 되어야 하는데
" " 안에서 써야되므로 \\ 와 같이 두번 써주어야 한다

[CODE type="java"]
import java.io.File;

public class orz {
[tab]


[tab]public static void main(String args[]){

[tab][tab]File Dos = new File("d\\dos\\foo\\bar");
[tab][tab]File Xnix = new File("d/xnix/foo/bar");
[tab][tab]
[tab][tab]Dos.mkdirs();
[tab][tab]Xnix.mkdirs();
[tab][tab][tab][tab]
[tab]}
}
[/HTML][/CODE]

위 코드 수행 결과, 해당하는 디렉토리가 생성 되었다.
개인적인 견해로는 \\를 두번쓰는 dos  형식보다
/ 한번 쓰는 xnix 형식이 코더 입장에서 볼때 편해 보인다

2006/07/18 20:46 2006/07/18 20:46

2006/07/12 01:36 2006/07/12 01:36

jdbc programming

개발/Java 2006/07/06 22:17
http://lococo.sch.ac.kr/jclass/notes/jdbc/basics/howto.html
2006/07/06 22:17 2006/07/06 22:17