package com.awtStudy;

import java.awt.Frame;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

/* 1.프레임 만든다  
 * 2.화면에 띄운다.
 * 3.x누르면 프레임 닫는다.
 * 4.3번 기능을 프레임에 add
 * */
public class HelloAWT {
	
	static Frame frame;
	
	public static void main (String[] args){
		frame = new Frame("안녕 프레임");
		frame.setSize(200,100);
		//frame.show(); (지금은 사용하지 않음) --->duplicate
		frame.setVisible(true);
		
		//event - click, drag, double click, touch, 입력
		
		//.addWindowListener (WindowListener 넣기)
		frame.addWindowListener(new Listener(frame));
		
	}
	//inner Class를 사용하는 이유:
	//Outer Class의 Field를 사용 하기 위해서
	static class Listener implements WindowListener{

		Frame fr;
		//생성자 메서드
		public Listener(Frame f){
			fr=f;
		}
		@Override
		//윈도우 창에 x를 누를때 호출
		public void windowClosing(WindowEvent e) {
			frame.dispose();//자원 해제
			System.exit(0);//프로세서 강제 종료 시키기
			//윈도우가 닫힌다.
		}
		@Override
		public void windowActivated(WindowEvent e) {}
		public void windowClosed(WindowEvent e) {}
		public void windowDeactivated(WindowEvent e) {}
		public void windowDeiconified(WindowEvent e) {}
		public void windowIconified(WindowEvent e) {}
		public void windowOpened(WindowEvent e) {}
	}
}



'Java > 2012.04 강좌' 카테고리의 다른 글

16일차 AWT 버튼을 누르면 실행 되는 리스너 만들기  (0) 2012.04.25
16일차 AWT - FlowLayout  (0) 2012.04.25
15일차 확장 for문 향상된 for문  (0) 2012.04.24
15일차 MapInterface  (0) 2012.04.24
15일차 Stack,Queue  (0) 2012.04.24
package com.choongang;

import java.util.ArrayList;

public class Exfor {

	public static void main(String[] args) {
		//확장 for문  향상된 for문

		ArrayList<string> array= new ArrayList<string>();

		for(int i=0;i<5;i++){
			array.add(i+" 번");
		}

		//일반 for 문
		for(int i=0;i<array.size();i++){
			System.out.print(array.get(i));
		}

		System.out.println("\n=================");
		
		//확장 for 문
		for(String temp: array){
			System.out.print(temp);
		//위 확장 for 문을 풀어서 쓰면 아래와 같다
		//String temp = array.get(0);
		//System.out.println(temp);
		//String temp = array.get(1);
		//System.out.println(temp);
		}
		
		//제목 글을 입력하면 db에 넣기
		//10개의 글을 가져와서 화면 출력
	}
}



'Java > 2012.04 강좌' 카테고리의 다른 글

16일차 AWT - FlowLayout  (0) 2012.04.25
16일차 AWT  (0) 2012.04.25
15일차 MapInterface  (0) 2012.04.24
15일차 Stack,Queue  (0) 2012.04.24
14일차 HashSet,Vector  (0) 2012.04.23

package com.choongang; import java.util.Hashtable; import java.util.Enumeration; public class MapInterface { public static void main(String[] args) { //Set List Set Map //new Hashtable<K,V>();//K: key ,V: value Hashtable<String,String> hash = new Hashtable<String,String>(); hash.put("name", "park"); hash.put("id", "lupin"); hash.put("pw", "1234"); String name = hash.get("name"); System.out.println(name); System.out.println(hash.get("id")); System.out.println("======="); //키를 다가져 와라 //enume = {"name" "id" "key"} Enumeration<String> enume = hash.keys(); while(enume.hasMoreElements()){ //ele = "name" String ele = enume.nextElement(); // 출력해라(hash.get("name")); System.out.println((String)hash.get(ele)); } /* for( 0;0<5;0++){ } while(true){ } while( 다음게 있니) { 그다음게 뭐니? 출력해봐 }*/ } }



'Java > 2012.04 강좌' 카테고리의 다른 글

16일차 AWT  (0) 2012.04.25
15일차 확장 for문 향상된 for문  (0) 2012.04.24
15일차 Stack,Queue  (0) 2012.04.24
14일차 HashSet,Vector  (0) 2012.04.23
14일차 substring  (0) 2012.04.23
package com.choongang;

import java.util.Stack;
import java.util.LinkedList;

public class StackStudy {
	
	public static void main(String[] args){
		//Stack<string> stack = new Stack<string>();
		Stack stack = new Stack();
		
		stack.push("1번");
		stack.push("2번");
		stack.push("3번");
		
		System.out.println(stack.size());//stack 사이즈를 출력해라~
		
		/*//System.out.println(stack.get(0));
		System.out.println(stack.pop());
		System.out.println(stack.isEmpty());
		System.out.println(stack.pop());
		System.out.println(stack.pop());
		System.out.println(stack.isEmpty());*/
		
		/* for 문으로
		 * int size = stack.size();
		for(int i=0;i<size;i++){
			System.out.println(stack.pop());
		}*/
		
		//while 문으로
		while(!stack.isEmpty()){//stack이 비어 있지 않으면 실행 해라
			System.out.println(stack.pop());
		}
		System.out.println("====================");
		
		
		
		//LIFO : Last In First Out - Stack
		//FIFO : First In First Out - Queue
		
		LinkedList<string> link = new LinkedList<string>();
		
		link.offer("사과");
		link.offer("귤");
		
		//link.poll();//Object를 return한다.
		System.out.println(link.peek());
		System.out.println(link.poll());
		System.out.println(link.peek());
		System.out.println(link.poll());
		System.out.println(link.peek());
		System.out.println(link.poll());
		
	}
}



'Java > 2012.04 강좌' 카테고리의 다른 글

15일차 확장 for문 향상된 for문  (0) 2012.04.24
15일차 MapInterface  (0) 2012.04.24
14일차 HashSet,Vector  (0) 2012.04.23
14일차 substring  (0) 2012.04.23
14일차 StringTokenizer  (0) 2012.04.23
package com.choongang;

import java.util.HashSet;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.Vector;

public class HashSetStudy {

	public static void main (String[] args){
		//HashSet class는 자료를 순서 없이 처리한다
		//중복이 없다. Set interface의 특징
		
		String[] fruits={"사과","배","귤"};
		String[] cities=new String[5];
		cities[0]="서울";
		cities[4]="부산";
		//cities[5]="ㅁㅁ";//error
		
		HashSet set = new HashSet();//ctrl+shift+O 자동 import
		set.add("사과");
		set.add("배");
		set.add("귤");
		set.add("망고");
		set.add("귤");
		set.add("망고");
		set.add("사과");
		
		System.out.println(set.size());
		
		Iterator elements =set.iterator();//열거자
		while(elements.hasNext()){
			System.out.print(elements.next()+"\t");
		}
		
		//List 인터페이스 상속받은 컬렉션들
		//ArrayList:컬렉션의 인기스타
		//순서가 있음 +중복됨
		System.out.println("\n"+"=============");
		
		ArrayList list = new ArrayList();
		
		list.add("서울");
		list.add(1000);
		list.add("인천");
		list.add("수원");

		System.out.println(list.size());
		System.out.println(list.get(0));
		System.out.println(list.get(1));
		
		System.out.println("=============");
		
		list.add("서울");
		list.add(10000);
		list.add("인천");
		list.add("수원");
		list.add("인천");
		list.add("인천");
		
		System.out.println( list.size());
		System.out.println( list.get(0) );
		System.out.println( list.get(1) );
		
		list.add(1, "1번 위치에 나 추가");
		list.set(1, "새로운 객체");
		
		list.remove(1);
		
		// for문 이용해서 모두 출력하기
		for(int i=0 ; i < list.size() ; i++){
			System.out.print(list.get(i)+" ");	
			
		}
		System.out.println("\n=============");
		System.out.println( list.indexOf("인천"));
		System.out.println( list.lastIndexOf("인천"));
		// 가독성이 좋도록 프로그래밍 해라 + 주석달기
		
		
		//추가:add 변경:set  삭제:remove
		//add(넣을 위치, 넣고싶은 것)
		//set(바꿀 위치, 바꿀 것)
		//remove(삭제할 위치)
		
		//사람의 언어는 애매모호하다.
		
		// 자바 , C
		
		//컴퓨터의 언어는 딱딱하다
		
		//3. Vector 클래스 
	
		Vector vector = new Vector();
		
		vector.add("월");
		vector.add("화");
		vector.add("수");
		
		System.out.println("=============");
		System.out.println(vector.get(1));
		
		System.out.println("=============");
		for(int i=0 ; i < vector.size() ; i++){
			System.out.print(vector.get(i)+" ");
		}
	}
}



package com.choongang;

import java.util.Vector;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Enumeration;

public class VectorStudy {
	
	public static void main(String[] args) {
		ArrayList<string> list3=new ArrayList<string>();
		new HashSet<float>();
		
		//제네릭 Generic(다른 타입은 넣지 말고 꺽쇠 안에 껄로만 넣어라)
		//Vector<integer> vector2 = new Vector<integer>(5);
		Vector vector2 = new Vector(5);
		
		vector2.add(0);
		vector2.add(1);
		vector2.add(2);
		vector2.add(3);
		vector2.add(4);
		
		System.out.println(vector2.capacity());
		System.out.println(vector2.size());
		vector2.add(5);//가변길이
		
		System.out.println(vector2.capacity());
		
		System.out.println("=============");
		for(int i=0; i<vector2.size();i++){
			System.out.println(vector2.get(i));
		}
		System.out.println("=============");
		//안에 들은 요소를 꺼내온다
		Enumeration enumeration = vector2.elements();
		
		while(enumeration.hasMoreElements()){
			System.out.println(enumeration.nextElement());
		}
	}
}



'Java > 2012.04 강좌' 카테고리의 다른 글

15일차 MapInterface  (0) 2012.04.24
15일차 Stack,Queue  (0) 2012.04.24
14일차 substring  (0) 2012.04.23
14일차 StringTokenizer  (0) 2012.04.23
14일차 StringBuilder  (0) 2012.04.23
package com.test;

public class Test {

	public static void main(String[] args) {
		
		String k = "id:park&pw:1234";
		/* id는 park 이고 pw는 1234입니다
		 * 어떤 수단을 써도 좋음*/
		
		int center = k.indexOf("&");
		System.out.println("&의 위치 "+center);
		int idStart = k.indexOf("id:");
		System.out.println("id의 위치 "+idStart);
		
		String id = k.substring(idStart+3, center);
		System.out.println("id= "+id);
		
		k.length();
		
		int pwStart = k.indexOf("pw:");
		int lastPoint = k.length();
		
		System.out.println("pw= "+k.substring(pwStart+3,lastPoint));
	}
}



'Java > 2012.04 강좌' 카테고리의 다른 글

15일차 Stack,Queue  (0) 2012.04.24
14일차 HashSet,Vector  (0) 2012.04.23
14일차 StringTokenizer  (0) 2012.04.23
14일차 StringBuilder  (0) 2012.04.23
14일차 복습  (0) 2012.04.23
package com.test;

import java.util.StringTokenizer;

public class StringTokenizerStudy {

	public static void main(String[] args) {
		
		StringTokenizer st = new StringTokenizer("A,B,C,D",",");
		
		//Token : 문자열을 구성하는 단위
		/*System.out.println(st.countTokens());
		
		System.out.println(st.hasMoreTokens());
		System.out.println(st.nextToken());
		
		System.out.println(st.hasMoreTokens());
		System.out.println(st.nextToken());
		
		System.out.println(st.hasMoreTokens());
		System.out.println(st.nextToken());
		
		System.out.println(st.hasMoreTokens());
		System.out.println(st.nextToken());
		
		//System.out.println(st.nextToken());//Error
		System.out.println(st.hasMoreTokens());*/
		
		//While문으로 바꾸어 보세요
		/*while(st.hasMoreTokens()){
			System.out.println(st.nextToken());
		}
		*/
		//for문으로 바꾸어 보세요
		int num = st.countTokens();
		for(int i=0;i<num;i++){
			System.out.println(i+st.nextToken());
		}
		
		//공백으로 문자를 구분해라
		StringTokenizer st1 = new StringTokenizer("0 1 2 3");
		
		while(st1.hasMoreTokens()){
			System.out.print(st1.nextToken(" "));
		}
		// '/'으로 문자를 구분해라.
		StringTokenizer st2 = new StringTokenizer("6/7/8/9");
		
		while(st2.hasMoreTokens()){
			System.out.print(st2.nextToken("/"));
		}
	}
}



'Java > 2012.04 강좌' 카테고리의 다른 글

14일차 HashSet,Vector  (0) 2012.04.23
14일차 substring  (0) 2012.04.23
14일차 StringBuilder  (0) 2012.04.23
14일차 복습  (0) 2012.04.23
13일차 String  (0) 2012.04.20
package com.test;

public class StringBuilderStudy {

	public static void main(String[] args) {
		
		//StringBuilder sb = new StringBuilder();
		StringBuffer sb = new StringBuffer();//버퍼 크기를 지정할 수있음.
		
		//좋은 예
		sb.append("1번"); 
		sb.append("2번");
		sb.append(3);
		sb.append(4.555f);//float 실수형
		sb.append(5.666666);//double 실수형
		
		//나쁜 예
		String name="1번"+"2번"+3+4.555f+5.666666;
		
		System.out.println(sb);			   //(x)
		System.out.println(sb.toString()); //일반적
	
		System.out.println("length = "+sb.length());
		
		sb.insert(5, "++++++");
		System.out.println(sb.toString());//일반적
		
		sb.delete(0, 2);
		System.out.println(sb.toString());
		
		System.out.println(sb.deleteCharAt(0));
		
		System.out.println(sb.replace(0, 2, "******"));
		System.out.println(sb.reverse());
	}

} 

1번2번34.5555.666666

1번2번34.5555.666666

length = 18

1번2번3++++++4.5555.666666

2번3++++++4.5555.666666

번3++++++4.5555.666666

******++++++4.5555.666666

666666.5555.4++++++******


'Java > 2012.04 강좌' 카테고리의 다른 글

14일차 substring  (0) 2012.04.23
14일차 StringTokenizer  (0) 2012.04.23
14일차 복습  (0) 2012.04.23
13일차 String  (0) 2012.04.20
13일차 Integer  (0) 2012.04.20
package com.test;

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

		//주민번호 010505 -1122222(예)
		//아래화면처럼
		/*생일 : x월x일
		성별 : 남자
		나이 : 12살*/
		
		String p= "010505-1122222";
		
		//생일 2 3 4 5자리
		String birthmonth = p.substring(2,4);
		String birthday= p.substring(4,6);
		
		System.out.printf("생일 : %s월 %s일 \n", birthmonth,birthday);
		
		String manWoman = p.substring(7,8);
		System.out.println(manWoman);
		
		//if(manWoman("1")---가져오는 주소가 다르기 때문에 false로 받아 들임
		//가져온 값이 같은지를 비교하기위해 equals를 사용...
		if(manWoman.equals("1")){
			System.out.println("성별 : 남자");
		}else{
			System.out.println("성별 : 여자");
		}
		//문자 -> 숫자
		int z = Integer.parseInt("55");
		System.out.println(z);
		
		//내가 한거~~
		String yold = p.substring(1,2);
		System.out.println("나이 : " + (12-Integer.parseInt(yold)));
		
		//강사님 답안
		String year = p.substring(0,2);
		int birthYear = Integer.parseInt(year);
		
		System.out.println("나이는 : "+(12-birthYear));
	}
}

생일 : 05월 05일 

1

성별 : 남자

55

나이 : 11

나이는 : 11


'Java > 2012.04 강좌' 카테고리의 다른 글

14일차 StringTokenizer  (0) 2012.04.23
14일차 StringBuilder  (0) 2012.04.23
13일차 String  (0) 2012.04.20
13일차 Integer  (0) 2012.04.20
13일차 toString()  (0) 2012.04.20
package com.test;

public class StringStudy {

	public static void main(String[] args) {
                //"안녕하세요"는 CharSequence char='b'
		
		//String a="안녕하세요";//오토박싱 
		//String 은 스트링 class
		
		String a="안녕하세요";
		String b="ABCDEFG";
		String c="abcdefg";
		int x=10;
		
		int length=a.length();
		System.out.println("length= "+length);
	
		boolean equals=b.equals(c);
		System.out.println("equals= "+equals);
		
		//case 문자, UpperCase 대문자, LowerCase 소문자
		
		boolean equalsIgnore = b.equalsIgnoreCase(c);
		System.out.println("equalsIgnore= "+equalsIgnore);
										  // 0 1 2 3 4			
		String subString = a.substring(3);// 안 녕 하 세 요
		System.out.println("subString= "+subString);
		
		subString = a.substring(2,4);
		System.out.println("subString= "+subString);
		
		System.out.println(a.concat(b));//concat-붙이다.
		
		System.out.println(a.replace('녕','용'));
		
		System.out.println(b.toLowerCase());
		
		System.out.println(c.toUpperCase());
		
		System.out.println(c.charAt(0));
		
		System.out.println(c.indexOf(0));//0의 위치는?
		System.out.println(a.indexOf("하"));//"하"의 위치는?
		
		System.out.println(a.lastIndexOf(5));//아스키코드
		
		String d="   안녕   ";
		System.out.println(d);
		System.out.println(d.trim());
		
		int k=5555;
		System.out.println( String.valueOf(k));
	}
}




'Java > 2012.04 강좌' 카테고리의 다른 글

14일차 StringBuilder  (0) 2012.04.23
14일차 복습  (0) 2012.04.23
13일차 Integer  (0) 2012.04.20
13일차 toString()  (0) 2012.04.20
13일차 hashcode  (0) 2012.04.20
package com.test;

public class IntegerStudy {

	public static void main(String[] args) {
		//Integer클래스는 기본형 int를 
		//사용하기 좋도록 생성자 ,메서드 등을
		//많이 만들어 놓은 클래스 입니다.
		
		int a = 10;
		Integer i = new Integer(10);
		Integer j = new Integer(10);
		
		//compareTo() 비교대상이 작으면 - 같으면 0 크면 +
		System.out.println(i.compareTo(j));
	}
}


package com.test;

public class IntegerStudy {

	public static void main(String[] args) {
		//Integer클래스는 기본형 int를 
		//사용하기 좋도록 생성자 ,메서드 등을
		//많이 만들어 놓은 클래스 입니다.
		
		
		Integer i = new Integer(30);
		Integer j = new Integer("30");
		
		//compareTo() 비교대상이 작으면 - 같으면 0 크면 +
		System.out.println(i.compareTo(j));
		
		int a=i;//오토 언박싱
		Integer k = 5;//오토 박싱
		int b=j.intValue();//JDK5 버전 부터 안해도 된다.
		
		System.out.println(Integer.toBinaryString(i));
		System.out.println(Integer.toHexString(i));
		System.out.println(Integer.toOctalString(i));
		
		String name="뽀삐";//오토박싱
		String id = new String("뽀삐");//원래 의 사용법
	
		//String 클래스에서 equals 오버라이드 해서
		//재정의 해 놓았음. hashCode(x) 문자비교(o)
		if(name.equals(id)){
			System.out.println("equal 비교 결과 같음");
		}
		
		String str3= new String("해피바이러스");
		String str4= new String("해피바이러스");
		
		if(str3 ==str4){
			System.out.println("==비교 결과 같다");
		}else{
			System.out.println("==비교 결과 다르다");
		}
		
		if(str3.equals(str4)){
			System.out.println("==비교 결과 같다");
		}else{
			System.out.println("==비교 결과 다르다");
		}
	}
}


'Java > 2012.04 강좌' 카테고리의 다른 글

14일차 복습  (0) 2012.04.23
13일차 String  (0) 2012.04.20
13일차 toString()  (0) 2012.04.20
13일차 hashcode  (0) 2012.04.20
13일차 복습(thread,synchronized)  (0) 2012.04.20
package com.test;

public class ToString {

	public static void main(String[] args){
		Puppy puppy1=new Puppy();
		Puppy puppy2=new Puppy();

		//hashCode - 객체에 부여하는 번호
		System.out.println(puppy1.toString());

		int x=10;
		int y=10;

		if(x==y){System.out.println("같다");
		}

		if(puppy1.equals(puppy2)){//hashCode값을 비교
			System.out.println("강아지 둘이 같다");
		}else{
			System.out.println("강아지 둘이 다르다");
		}
	}
}

class Puppy extends Object{
	String name="뽀삐";
	int age=2;

	public void wantToEat(){
		System.out.println("왕 왕 우우~~");
	}

	@Override
	public String toString(){
		return "이름은 "+name+","+" 나이는 "+age+"살";
		//return super.toString();
		/*e2.getClass().getName()
		+'@'+Integer.toHexString(e2.hashCode()*/
	}
	@Override
	public boolean equals(Object arg0){
		//this : 자기 자신의 (객체 )인스턴스를 가리킴
		Puppy he = (Puppy)arg0;//다운캐스팅
		if(this.name==he.name){
			return true;
		}else{ 
			return false;
		}
	}
	//원래 hashCode를 비교하는 기능

	/*if(this.hashCode()==arg0.hashCode()){
			return true;
		}*/
	//return super.equals(arg0);
}


'Java > 2012.04 강좌' 카테고리의 다른 글

13일차 String  (0) 2012.04.20
13일차 Integer  (0) 2012.04.20
13일차 hashcode  (0) 2012.04.20
13일차 복습(thread,synchronized)  (0) 2012.04.20
12일차 Synchronized(동기화)  (0) 2012.04.19
package com.test;

public class Exam1 {

	public Exam1(){

	}
	public static void main(String[] args) {
		Exam1 e1 = new Exam1();
		Exam1 e2 = new Exam1();

		System.out.println("클래스 이름"+e1.getClass());
		System.out.println("해시 코드"+e1.hashCode());
		System.out.println("객체 문자열"+e1.toString());
		System.out.println("");

		System.out.println("클래스 이름"+e2.getClass());
		System.out.println("해시 코드"+e2.hashCode());
		System.out.println("객체 문자열"+e2.toString());
		System.out.println("");

		System.out.println("객체 문자열"+e2);
		
		//toString() 의 정체
		System.out.println(e2.getClass().getName()
				+'@'+Integer.toHexString(e2.hashCode()));
	}//toString()x,y의 좌표를 알고 싶다.toString();
	 //x=10,y=20
}




'Java > 2012.04 강좌' 카테고리의 다른 글

13일차 Integer  (0) 2012.04.20
13일차 toString()  (0) 2012.04.20
13일차 복습(thread,synchronized)  (0) 2012.04.20
12일차 Synchronized(동기화)  (0) 2012.04.19
12일차 Thread2  (0) 2012.04.19
package com.test;

public class Review {
	
	public static void main(String[] args) {
		//1~100까지 화면에 출력하기
		
		A a=new A(1);//a:reference
		A a2=new A(1);
		a.start();
		a2.start();
	}
}
class A extends Thread{

	static int x;//A의 모든 객체가 공유

	public A(){
		System.out.println("생성자 메서드 호출됨");
	}
	public A(int x){//생성자 오버로딩
		this.x=x;
	}
	
	@Override
	public void run() {//스레드가 할 일
		//super.run();
		int x=0;
		while(x<100){
			x++;
			System.out.println("\n"+x);
			try{
				Thread.sleep(500);
			}catch(Exception e){
				
			}
		}
	}
	
}


package com.test;

public class Review {

	public static void main(String[] args) {
		//1~100까지 화면에 출력하기

		A a=new A(1);//a:reference
		A a2=new A(1);
		a.start();
		a2.start();
	}
}
class A extends Thread{

	static int x;//A의 모든 객체가 공유

	public A(){
		System.out.println("생성자 메서드 호출됨");
	}
	public A(int x){//생성자 오버로딩
		this.x=x;
	}

	@Override
	public void run() {//스레드가 할 일
		//super.run();

		synchronized(A.class){//A클래스가 누가 사용중일 때 다른 사람은 대기
			while(x<100){
				x++;
				System.out.println("\n"+x+this.toString());
				try{
					Thread.sleep(500);
				}catch(Exception e){

				}
			}
		}
	}
}


package com.test;

public class Review {

	public static void main(String[] args) {
		//1~100까지 화면에 출력하기

		A a=new A(0,"첫번째 스레드");//a:reference
		A a2=new A(0,"두번째 스레드");
		
		//a2.setPriority(Thread.MAX_PRIORITY);
		a.setPriority(Thread.MIN_PRIORITY);
		a.start();
		a2.start();
	}
}
class A extends Thread{

	static int x;//A의 모든 객체가 공유
	String name;

	public A(){
		System.out.println("생성자 메서드 호출됨");
	}
	public A(int x){//생성자 오버로딩
		this.x=x;
		
	}
	
	public A(int x,String name){
		this.x=x;
		this.name=name;
	}

	@Override
	public void run() {//스레드가 할 일
		//super.run();

			while(x<99){
		synchronized(A.class){//A클래스가 누가 사용중일 때 다른 사람은 대기
				x++;
				System.out.println("\n"+x+this.name);
				try{
					Thread.sleep(10);
				}catch(Exception e){

				}
			}
		}
	}
}


'Java > 2012.04 강좌' 카테고리의 다른 글

13일차 toString()  (0) 2012.04.20
13일차 hashcode  (0) 2012.04.20
12일차 Synchronized(동기화)  (0) 2012.04.19
12일차 Thread2  (0) 2012.04.19
12일차 Thread  (0) 2012.04.19
package com.lee2;

public class Test2 {

	public static void main(String[] args) {

		start();
	
	}
	public static synchronized void start(){
		
		Alba alba1=new Alba("어서오세요");
		Alba alba2=new Alba("주문은?");
		Alba alba3=new Alba("또오세요");
		
		synchronized(Alba.class){
		alba1.start();	//10분	
		alba2.start();	//10분
		alba3.start();  //20분
		}
	}
}


package com.lee2;

public class Alba extends Thread{
	String msg;

	public Alba(String msg){
		this.msg=msg;
	}

	@Override
	public void run() {

		work();
	}

	private synchronized void work() {
		for( int i=0 ; i<10 ; i++){
			System.out.println(msg);

			try {
				Thread.sleep(1000);//1000->1초
			} catch (Exception e) {
				System.out.println("스레드 에러 발생");
				System.out.println(e.getMessage());
			}
		}
		System.out.println("사장님 안녕히계세요~");
	}
}




package com.park2;

public class Alba implements Runnable{
	String msg;
	
	public Alba(String msg){
		this.msg=msg;
	}
	
	@Override
	public void run() {
		work();
	}
	
	public synchronized void work(){
		for( int i=0 ; i<100 ; i++){
			System.out.println(msg);
			try{
				Thread.sleep(300); //1000 = 1초
			}catch(Exception e){
				System.out.println("스레드 에러발생");
				System.out.println(e.getMessage());
			}
		}
		System.out.println("사장님 안녕히계세요");
	}
}


package com.park2;

public class Test2 {

	public static void main(String[] args) {
		
		//run() - run메서드 전부 실행
		//start() -  background에서 실행
		//순서가 random
		
		start();
	}
	
	public static synchronized void start(){
		Alba alba1=new Alba("어서오세요");
		Thread a1=new Thread(alba1);
		// runnable로 스레드 클래스 만들었을 때
		
		Alba alba2=new Alba("주문은?");
		Thread a2=new Thread(alba2);
		
		Alba alba3=new Alba("또오세요");
		Thread a3=new Thread(alba3);
		
		System.out.println(Thread.currentThread().getName());
		System.out.println(a1.currentThread().getName());
		System.out.println(a2.getName());
		System.out.println(a3.getName());
		/*synchronized(Alba.class){
			alba1.start();	//10분	
			alba2.start();	//10분
			alba3.start();  //20분
		}*/		
	}
}


'Java > 2012.04 강좌' 카테고리의 다른 글

13일차 hashcode  (0) 2012.04.20
13일차 복습(thread,synchronized)  (0) 2012.04.20
12일차 Thread2  (0) 2012.04.19
12일차 Thread  (0) 2012.04.19
12일차 Exception(예외처리 미루기)  (0) 2012.04.19

+ Recent posts