JAVA2011. 10. 25. 10:36

/**
     * ResultSet을 Row마다 Map에 저장후 List에 다시 저장.
     * @param rs DB에서 가져온 ResultSet
     * @return Listt<map> 형태로 리턴
     * @throws Exception Collection
     */
    private Listt<map> getResultMapRows(ResultSet rs) throws Exception
    {
        // ResultSet 의 MetaData를 가져온다.
        ResultSetMetaData metaData = rs.getMetaData();
        // ResultSet 의 Column의 갯수를 가져온다.
        int sizeOfColumn = metaData.getColumnCount();

        List<Map> list = new ArrayList<Map>();
        Map<String, Object> map;
        String column;
        // rs의 내용을 돌려준다.
        while (rs.next())
        {
            // 내부에서 map을 초기화
            map = new HashMap<String, Object>();
            // Column의 갯수만큼 회전
            for (int indexOfcolumn = 0; indexOfcolumn < sizeOfColumn; indexOfcolumn++)
            {
                column = metaData.getColumnName(indexOfcolumn + 1);
                // map에 값을 입력 map.put(columnName, columnName으로 getString)
                map.put(column, rs.getString(column));
            }
            // list에 저장
            list.add(map);
        }
        return list;
    }

'JAVA' 카테고리의 다른 글

예약어 new  (0) 2011.08.01
2진수 10진수로 변환  (0) 2010.09.09
10진수 2진수,8진수 변환  (0) 2010.09.09
java systeminfo파일로 정보읽기  (0) 2010.09.08
JAVA 시스템 환경읽어오기  (0) 2010.09.08
Posted by 달빛낙엽
JAVA2011. 8. 1. 11:27
예약어 new : 클래스를 메모리에 할당하여 해당 클래스를 사용할 수 있게 한다.

exam
class PowerSwitch

{

// PowerSwitch 클래스의 맴버변수 power선언.

private boolean power;


// 맴버변수 power를 리턴하는 getPower변수.

public boolean getPower()

{

return power;

}


// 맴버변수 power에 값을 입력

public void setPower(boolean button)

{

power = button;

}


public static void main(String[] args)

{

        // PowerSwitch클래스를 메모리에 할당하여 사용가능한 상태로 만든다.

        PowerSwitch powerswitch = new PowerSwitch();


        // setPower변수에 ture값을 세팅하면 power의 값이 true로 바뀐다.

        powerswitch.setPower(true);

        System.out.println(powerswitch.getPower());


        // setPower변수에 false값을 세팅하면 power의 값이 false로 바뀐다.

        powerswitch.setPower(false);

        System.out.println(powerswitch.getPower());

    }

}    

'JAVA' 카테고리의 다른 글

ResultSet의 Row를 Map로 변환후 List에 저장  (1) 2011.10.25
2진수 10진수로 변환  (0) 2010.09.09
10진수 2진수,8진수 변환  (0) 2010.09.09
java systeminfo파일로 정보읽기  (0) 2010.09.08
JAVA 시스템 환경읽어오기  (0) 2010.09.08
Posted by 달빛낙엽
JAVA2010. 9. 9. 15:29

import java.util.*;

/**
 * Created by IntelliJ IDEA.
 * User: moonleaf
 * Date: 2010. 9. 9
 * Time: 오후 2:04:12
 * To change this template use File | Settings | File Templates.
 */
public class Test2 {
    public static void main(String [] args){

        java.util.Scanner in = new Scanner(System.in);

        System.out.print("2진수를 입력하세요 : ");
        String binary = in.nextLine();                       // 입력받음
       
        int tot = 0;                                         // 총합의 수
        int d = 1;                                           // 곱의 수

        for(int a = binary.length() ; a > 0 ;a --){

            String str = binary.substring(a -1, a);          // String을 한글자씩 자른다.

            if(Integer.parseInt(str) >= 2){                  // 잘못된 2진수 입력시 에러 출력
                System.out.println("잘못된 입력입니다.");
                break;
            }
            tot = tot + ( d * Integer.parseInt(str));
           
            d = d * 2;
        }

        System.out.println("10진수 : " + tot);

    }
}

'JAVA' 카테고리의 다른 글

ResultSet의 Row를 Map로 변환후 List에 저장  (1) 2011.10.25
예약어 new  (0) 2011.08.01
10진수 2진수,8진수 변환  (0) 2010.09.09
java systeminfo파일로 정보읽기  (0) 2010.09.08
JAVA 시스템 환경읽어오기  (0) 2010.09.08
Posted by 달빛낙엽
JAVA2010. 9. 9. 13:58

import java.util.*;

public class Test {
    public static void main (String args[]) {

        java.util.Scanner in = new Scanner(System.in);

        ArrayList binary = new ArrayList(); // 2진수 배열저장
        ArrayList octal = new ArrayList();  // 8진수 배열저장
        int input = in.nextInt();           // 입력받은 숫자
        int input2 = input;                 // 입력받은 숫자


        System.out.print("숫자를 입력하세요. : ");

        while(input !=0){
            binary.add(input % 2);
            input = input / 2;
        }

        while(input2 !=0){
            octal.add(input2 % 8);
            input2 = input2 / 8;
        }


        System.out.print("2진수 : ");
        for(int a = binary.size(); a > 0; a --){
            System.out.print(binary.get(a-1));
        }
       
        System.out.println("");               // 줄바꿈

        System.out.print("8진수 : ");
        for(int a = octal.size(); a > 0; a --){
            System.out.print(octal.get(a-1));
        }

    }
}

'JAVA' 카테고리의 다른 글

예약어 new  (0) 2011.08.01
2진수 10진수로 변환  (0) 2010.09.09
java systeminfo파일로 정보읽기  (0) 2010.09.08
JAVA 시스템 환경읽어오기  (0) 2010.09.08
JAVA Generic 예제  (0) 2010.08.12
Posted by 달빛낙엽
JAVA2010. 9. 8. 17:57

import java.io.*;
public class SysInfo {
public static void main(String[] args) throws Exception
    {
        Process proc = null;
        BufferedReader procStdOut = null;
        try
        {
            // windows 폴더내의 systeminfo 파일을 읽어온다.
            proc = Runtime.getRuntime().exec("C:\\WINDOWS\\system32\\systeminfo");
            procStdOut = new BufferedReader(new InputStreamReader(proc.getInputStream()));
            String line;
            while (true)
            {
                line = procStdOut.readLine();
                if (line == null) break;

                System.out.println(line);
            }
        }
        catch (Exception e)
        {
            throw e;
        }
        finally
        {
            if (proc != null)
            proc.destroy(); // process를 kill시킨다.
            if (procStdOut != null)
            procStdOut.close();
        }
    }
} 

'JAVA' 카테고리의 다른 글

2진수 10진수로 변환  (0) 2010.09.09
10진수 2진수,8진수 변환  (0) 2010.09.09
JAVA 시스템 환경읽어오기  (0) 2010.09.08
JAVA Generic 예제  (0) 2010.08.12
JAVA 향상된 For문  (0) 2010.08.12
Posted by 달빛낙엽
JAVA2010. 9. 8. 17:56

import java.util.Enumeration;
import java.util.Properties;


public class GetRuntimeInfo {
    private void getRuntimeInformation(){
        Properties properties = null;
       
        try{
            properties = System.getProperties();
        }catch(Exception e){
            e.printStackTrace();
        }
       
        Enumeration en = properties.propertyNames();
        while(en.hasMoreElements()){
            String s = (String)en.nextElement();
            String stringValue = properties.getProperty(s);
            System.out.println(s + " : " + stringValue);           
        }
    }
   
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        new GetRuntimeInfo().getRuntimeInformation();
    }
} 

'JAVA' 카테고리의 다른 글

10진수 2진수,8진수 변환  (0) 2010.09.09
java systeminfo파일로 정보읽기  (0) 2010.09.08
JAVA Generic 예제  (0) 2010.08.12
JAVA 향상된 For문  (0) 2010.08.12
JAVA Generic  (0) 2010.08.12
Posted by 달빛낙엽
JAVA2010. 8. 12. 17:12

class Generic {

    T[] i;

    public void set(T[] str) {
        i = str;
    }

 
    public void disp() {
        for(T msg:i) {
            System.out.println(msg);
        }
    }
}

class Generic_Main {

    public static void main(String [] args ) {

        Generic g = new Generic();

        String []str = {"땅","물","바람","불","마음"};
        g.set(str);
        g.disp();
 
        Generic g2 = new Generic();
        Integer[] arr = {10,20,30,40,50};
        g2.set(arr);
        g2.disp();

        Generic g3 = new Generic();
        Double[] dd= {98.7,107.7,108.9,124.5,169.7};
        g3.set(dd);
        g3.disp();
    }
}

'JAVA' 카테고리의 다른 글

10진수 2진수,8진수 변환  (0) 2010.09.09
java systeminfo파일로 정보읽기  (0) 2010.09.08
JAVA 시스템 환경읽어오기  (0) 2010.09.08
JAVA 향상된 For문  (0) 2010.08.12
JAVA Generic  (0) 2010.08.12
Posted by 달빛낙엽
JAVA2010. 8. 12. 11:45

        // 다음과 같은 int형 배열이 있다.
        int arr[] = {10, 20, 30, 40, 50};

        // 일반적으로 for문으로 배열을 출력하려 할때는

        for (int i = 0; i == arr.length ; i++)
        {
            System.out.println(arr[i]);
        }
        
        // 위와같은 방법으로 출력하는것이 기본적이다.
        // 하지만 향상된  for문을 사용하게 되면 보다 간단하게 구현이 가능하다.

        for (int num : arr)
        {
            System.out.println(num);
        }
        
        // arr의 배열을 int 타잎인 num객체에 1:1로 적용하여 for문을 사용한다.
        // arr의 배열의 값이 존재하지 않을때 까지 arr의 배열내 객체를 num를 저장하여 사용할 수 있다.

'JAVA' 카테고리의 다른 글

10진수 2진수,8진수 변환  (0) 2010.09.09
java systeminfo파일로 정보읽기  (0) 2010.09.08
JAVA 시스템 환경읽어오기  (0) 2010.09.08
JAVA Generic 예제  (0) 2010.08.12
JAVA Generic  (0) 2010.08.12
Posted by 달빛낙엽
JAVA2010. 8. 12. 10:51

이 글은 http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf 에 대한 손을 좀 본 번역본입니다. 손을 봤다는 게 직역하지 않고, 뺄 거는 빼고 더할 거는 더하고 풀어 쓸 거는 풀어 쓰고 했단 소립니다. 사실 원본이 말이 쓸데없이 많아서 많이 짤라냈습니다.


자바 1.5에서는 자바 언어에 대한 몇가지 확장 기능이 추가되었다. 그 중 하나가 Generics이다.
이 글은 generics를 소개하기 위한 글이다. C++의 템플릿과 같은 다른 언어와 비슷하다.
Generics는 타입에 대한 추상성을 제공한다. Collection에서 쓰이는 컨테이너 타입이 가장 일반적인 예가 될 것이다.
예전에 작성하던 일반적인 코드는 다음과 같다.

List myIntList = new LinkedList(); // 1
myIntList.add(new Integer(0)); // 2
Integer x = (Integer) myIntList.iterator().next(); // 3


3번째 줄에서 캐스팅을 하는 것은 다소 번거롭다. 대개의 경우 프로그래머는 어떤 리스트에 어떤 타입의 데이터가 들어갈 것인지 알고 있지만, 캐스팅은 필수적인 작업이다. 컴파일러는 iterator에 의해 Object 가 리턴될 것이라는 것까지 밖에 보장하지 못한다. Integer 타입이란 것을 명확히 하기 위해서는 캐스팅을 할 수 밖에 없다. 물론, 캐스팅 작업은 프로그램을 난잡하게할 뿐만 아니라, 런타임 에러의 가능성을 발생시킨다.
만약 프로그래머가 만들고자 하던 의도대로 리스트에 특정한 타입만 들어갈 수 있도록 강제할 수 있다면 얼마나 좋겠는가! 이것이 바로 generics의 핵심 아이디어다. generics를 이용한 프로그램의 예는 다음과 같다.


List<Integer> myIntList = new LinkedList<Integer>(); // 1’
myIntList.add(new Integer(0)); //2’
Integer x = myIntList.iterator().next(); // 3’



myIniList 변수에 타입에 대한 정의를 했다는 것이 중요하다. List<Integer>라고 명확하게 적어줌으로써 이 인스턴스가 아무 타입이나 들어갈 수 있는 리스트가 아니라 Integer 리스트라는 것을 명확하게 한다. 이런 경우 List는 타입인자(예제의 경우는 Integer)를 받는 generic 인터페이스라한다. list 객체를 생성하는 시점에 타입인자를 명확히 해준다.
또 한가지 주의할 점은 3'에서 보는 것과 같이 타입 캐스팅이 사라졌다는 것이다.
3번째 줄에서 타입 캐스팅을 하는 대신 1'에서 타입 파라미터로 Integer를 설정해 줌으로 인해 프로그램이 한결 간결해졌다. 매우 중요한 차이는 컴파일러가 이제 타입을 체크할 수 있기 때문에 인자의 정확성을 컴파일 타임에 알 수 있게 되었다는 것이다. myIntList가 List<Integer>로 정의되었을 경우 그게 언제 어디서 쓰이던 타입 안정성에 대해 컴파일러로 부터 보장받을 수 있다. 즉, 타입이 명확하지 않으면, 컴파일이 되지 않는다. 또한 이렇게 코딩함으로 개발자는 그 인스턴스에 들어가는 타입을 더 직관적으로 알 수 있다.


출처 : 삼실청년(http://iilii.egloos.com)


'JAVA' 카테고리의 다른 글

10진수 2진수,8진수 변환  (0) 2010.09.09
java systeminfo파일로 정보읽기  (0) 2010.09.08
JAVA 시스템 환경읽어오기  (0) 2010.09.08
JAVA Generic 예제  (0) 2010.08.12
JAVA 향상된 For문  (0) 2010.08.12
Posted by 달빛낙엽