2012年8月4日 星期六

問題總集


1. abstract method 可以宣告成 class method ?
   若不行,其解決的方式只有將abstract method 改成一般的method?

2.是否有指令可以快速產生 public static void main(String args[])

3.inputstreamoutputStreamreaderwriter class 的功能有何差異?

4.要如何產生output結果
import java.io.*;
public class hw14_8
{
   public static void main(String args[])throws IOException
   {
      FileReader fr = new FileReader("train.txt");
      char data[] = new char[128];
      fr.skip(11);
      int num = fr.read(data);
      
      System.out.println(new String(data) + "size = " + num);
   }
}

檔案內容:(train.txt)

火車快飛,火車快飛
越過高山,飛過小溪
不知走了幾百里

output:

火車快飛,火車快飛
不知走了幾百里






5.輸入一個字串要如何分解開所要的資料
  例如:
   input ==>   Areil 45 98
   
   要如何處理輸入的資料成為下面的結果

     srt = Areil   math = 45   english = 98

6.Runnable 是繼承Thread的介面,利用類別實作介面實為何要如此宣告

  CTest obj1 = new CTest();
  Thread t1 = new Thread(obj1);
  t1.start();

 而使用
    obj1.start();    ==> 會發生編譯錯誤

 不是因為Runnable介面有繼承Thread的關係,其他類別實作此介面應該也可以直接使用Thread method ?



















7.如何將紅色的method成為main method 而不是CCircle method
class CCircle  
{
   private static double pi=3.14;  
   private double radius;

   public CCircle(double r)  
   {
      radius=r;
   }
   public CCircle compare(CCircle cir)
   {        
      if(this.radius>cir.radius)
         return this;        
      else
         return cir;         
   }        
}
public class app9_11
{
   public static void main(String args[])
   {
      CCircle cir1=new CCircle(1.0);
      CCircle cir2=new CCircle(2.0);
      CCircle obj;    

      obj=cir1.compare(cir2);         
      if(cir1==obj)
         System.out.println("radius of cir1 is larger");
      else
         System.out.println("radius of cir2 is larger");
   }
}





8. 如何將hset集合物件放到tset集合中
import java.util.*;
public class hw16_2
{
   public static void main(String args[])
   {
      HashSet<Integer> hset = new HashSet<Integer>();
      TreeSet<Integer> tset = new TreeSet<Integer>(hset);
     
      hset.add(38);
      hset.add(13);
      hset.add(9);
      hset.add(128);
      hset.add(5);
        
         for(int i=10 ; i<20 ; i+=3)
           tset.add(i);
      System.out.println("HashSet content : " + hset);
      System.out.println("TreeSet content : " + tset);    
   }
}

Output:
HashSet content : [38, 5, 128, 9, 13]
TreeSet content : [10, 13, 16, 19, 38, 5, 128, 9, 13]













9.為何編譯結果會說 找不到此method(紅色的字)
import java.util.*;
public class hw16_1
{
   public static void main(String args[])
   {
      HashSet<Integer> hset = new HashSet<Integer>();
     
      hset.add(52);
      hset.add(14);
      hset.add(6);
      hset.add(28);
      hset.add(105);
 
      System.out.println("content : " + hset);
      hset.remove(14);
      System.out.println("content : " + hset);
      System.out.println("have 92 in hset ? " + hset.contains(92));
      System.out.println("hset size = " + hset.size());
      hset.removeAll();
      System.out.println("content : " + hset);
   }
}

沒有留言:

張貼留言