2013/06/14面接

1843 ワード

Timerは、2秒ごとにハローを印刷することを実現.
 
package timer;



import java.util.Timer;

import java.util.TimerTask;



public class TimerTest {



	public static void main(String[] args) {

		Timer t = new Timer();

		MyTimerTask my = new MyTimerTask();

		t.scheduleAtFixedRate(my, 0, 2000);

		try{

			Thread.sleep(5000);//5 

		}catch(Exception e){

			

		}

		t.cancel();// 

	}

	

}



class MyTimerTask extends TimerTask{



	public void run() {

		System.out.println("Hello!");

	}



}


元の基础の上でいくつかの文をプラスして、tryの后の文がないならば题意で、プラスした后に、5秒后にすでに停止します.
 
2つのスレッドを設計し、1つのスレッドが共通valueに1を加え、valueが100以上になると「100以上、加算しない!」と表示します.
もう1つのスレッドは共通valueに対して1を減らし、valueが0以下の場合は「0以下、減算しません!」と表示します.
 
package thread;



public class Test {

	int value = 0;

	

	class additionThread extends Thread{

		

		public void run() {

			while(true){

				if(value>=100) {

					System.out.println(" 100, !");

				} else{

					value++;

					System.out.println(" 1 :"+value);	

				}

				try{

	            	Thread.sleep(500);

	            }catch(Exception e){

	            	

	            }

			}

		}

	}

	

	class subtractionThread extends Thread {

		public void run() {

			while(true){

				if(value<=0){

					System.out.println(" 0, !");

				}else{

					value--;

					System.out.println(" 1 :"+value);	

				}

				try{

	            	Thread.sleep(500);

	            }catch(Exception e){

	            	

	            }

			}

		}

	}



	

	public void start(){

	    new additionThread().start();

	    new subtractionThread().start();

	}

	 

	    public static void main(String args[]){

	            new Test().start();

	            

	    }

}


 
まとめ:
基礎知識はしっかりしていて,あいまいさを避けなければならない.