a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 219|回复: 5

[考试试题] Java笔试预测题及答案(1)

[复制链接]
发表于 2012-8-4 12:33:16 | 显示全部楼层 |阅读模式
Java基础方面:   1、作用域public,private,protected,以及不写时的区别
* h7 q" C1 @) D% X/ B
* R% S! P0 q7 @$ n  答:区别如下:4 \" \& q( p6 V! U7 E+ Q/ i8 ~# `
  作用域           当前类       同一package  子孙类       其他package
; v: }+ B9 H7 J% w- E9 x  D  public            √              √                  √             √
, u3 _) v# C' A  protected        √              √                  √             ×
. [# _8 O2 d; b9 t0 u6 p6 ^. e  friendly          √              √                   ×            ×# T) f8 l% m5 `  ]
  private           √              ×                   ×            ×
* ~1 j# Q/ u' v  不写时默认为friendly
8 O' m$ L' e( z+ A7 V0 j: A  2、ArrayList和Vector的区别,HashMap和Hashtable的区别0 H& s' h  A3 ?4 [
- X+ T" [! d5 S0 G! b( ?! ^  N& ?
  答:就ArrayList与Vector主要从二方面来说.1 `* H7 o7 Q" B; k" Q/ I
  一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的# y& r6 h1 j# ]8 o8 }
  二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半5 }- {5 E0 V% v
  就HashMap与HashTable主要从三方面来说。
6 P/ o: g2 [+ M  一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现3 h, S9 t5 \! L) y& Y& s. E
  二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的4 m+ F+ S. V1 C
  三.值:只有HashMap可以让你将空值作为一个表的条目的key或value# |* o( t. N+ v. {" Q  H9 W! K' V
  3、char型变量中能不能存贮一个中文汉字?为什么?
/ }7 q: `  v  b3 X9 {- k# f- J' n: @; a  s
  答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的
1 B! E' I. ]" x0 h  4、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
1 S+ k8 r: N, B" C
6 O+ L3 i3 e; J) ]4 B$ b  答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口- {  m9 B1 g- f" L& l0 }" |& y+ I. I
  同步的实现方面有两种,分别是synchronized,wait与notify- L9 y: z5 g0 Y/ r2 d- }/ b1 j) ~
7 ]% i3 |" [7 q
  5、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
  |. ?9 y: g) l3 T, F! R* p  n7 a- b! l: L1 ~: w
  答:父类:
: o1 ?! A% N2 r, {) c  package test;
  ]5 o$ h! i- o  j+ n! y  public class  FatherClass
2 l! g  c( h9 l4 I+ |$ B' `0 D; o  {: w2 P, h% E1 Z
      public FatherClass()
0 E- a$ N+ N  w2 l% E/ k    {! i' \, h7 _6 `* n3 ^, K* s, l
    System.out.println("FatherClass Create");
' b3 S9 f8 E! {* u6 i   }. k: |: X4 v* {1 r4 X. G! D  F* g
  }
; E* R5 l! g. S1 r9 f' i- E) P2 \( j* v  子类:) {' ?. `% w- I. }6 e. B
  package test;
% Q% H8 U# b7 S" i' E" X  import test.FatherClass;9 ?) }- F. D6 g  o7 C& _; ]: B
  public class  ChildClass extends FatherClass
8 ?! P7 E' ]3 M, \4 G& T7 D  {
' {! `! p& f6 k' U0 z7 k  m   public ChildClass()
( {2 c6 t) A, ?5 S   {
/ v4 h' K  Y* w6 [' K3 a; B: n    System.out.println("ChildClass Create");
- T: A" L. t+ W1 U5 _9 W* E   }) {+ I' q* }, D% \- c1 N
   public static void main(String[] args)
) z6 p+ l$ h' b   {' O6 }, S4 t3 B* q7 c
    FatherClass fc = new FatherClass();- s( z* T$ F! A+ p. P) w# G; O- s
    ChildClass cc = new ChildClass();- A# S6 _( a& W- B* O- h
   }. E2 y6 R4 k* M, h9 Y3 R1 E4 t: S
  }, W: f4 q! {5 M, {; c
  输出结果:
+ E* w5 a, j* Z9 r  C:\>java test.ChildClass
! r; ]! B8 I: v$ y' L3 f2 k  FatherClass Create5 N0 \! ^& D& C. B' @
  FatherClass Create
. H" I% }0 b/ R; f" X, L# \* X9 h# d0 q  ChildClass Create
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:33:17 | 显示全部楼层

Java笔试预测题及答案(1)

</p>  6、内部类的实现方式?1 n$ e& m# d& E1 i7 @6 ^
 3 F* u( w' |, W
  答:示例代码如下:
1 @, a# K* ~7 h1 P5 T  package test;# _9 k+ `$ M1 Y' k% ]
  public class  OuterClass2 i5 n8 r5 X+ t, p% Z
  {. R/ C! o% [& ~, j% _$ V& J
   private class InterClass
+ a2 H* U! j; l* E0 N$ u7 I   {; {5 q3 [( ^; i, R( F. l
    public InterClass()
) U% U8 P/ R  u& U4 [    {8 I0 X0 l" b8 K/ r5 s
     System.out.println("InterClass Create");# H5 d/ `+ N4 o5 Q! k4 B
    }
) a5 }# w4 S0 c9 B, g7 e* ]   }/ X) l% n0 U7 {, Z
   public OuterClass()
5 {/ _0 w% v: o! |4 |+ g0 @# \   {3 t- s2 z& n. t8 \7 ]
    InterClass ic = new InterClass();
0 W" v4 h& p. N" n    System.out.println("OuterClass Create");. I# t, ^+ N0 i- t1 t  M
   }+ l4 f1 o5 A8 S$ y" S" C
   public static void main(String[] args) 9 w4 t7 ]. Q. l6 n! T+ T
   {
7 Y# q2 `  x+ u, \! s( I' D6 I% P    OuterClass oc = new OuterClass();
' U2 W( Q; M' ]! t6 ~) N, w4 z   }# t' f1 ], H+ x- P1 z
  }
  F* |# X6 Q' X) ]( s8 }+ Z0 K  输出结果:
0 o9 Z0 S3 R7 J- |+ r  I  C:\>java test/OuterClass4 G& z) w/ m# P6 y' e
  InterClass Create6 ?4 s3 b! R: D1 r6 c+ J) W
  OuterClass Create
6 i+ p- ^+ I: j# M- o  再一个例题:
7 u$ X5 L0 j4 {8 s0 @+ q  public class OuterClass 8 u' s  i8 k0 e: X0 n9 ~6 h$ I
  {
* Y* _* l% `) Y0 `2 ]8 W2 G   private double d1 = 1.0;//insert code here ) x& m3 X0 t+ b' f1 ~7 M* K  z  x
  } 1 ?1 N- A! q- }9 w5 ~1 Y
  You need to insert an inner class declaration at line 3. Which two inner class declarations are   }- J  }3 o; \8 `9 O5 P8 c$ L
  valid?(Choose two.)
2 T+ F6 ~9 C; S& |$ G  A. class InnerOne- H8 {. y" O9 K  Y8 B# Z4 I
  {2 l3 ^. A% u% ^4 ]7 D* A
   public static double methoda() {return d1;}
. ~8 Q' }  T2 ?* P* k2 A0 o& G  } 6 R6 d) S( N& a# r3 s" W+ q  O
  B. public class InnerOne  q2 ^8 q' n; W2 A
  {# w) R/ k" ?' e$ `* X" `) ~/ e+ y
   static double methoda() {return d1;}) ~- h* v* A1 z2 Y4 m
    } ! s( B. D' k* q& J( O
  C. private class InnerOne/ K  I( }6 J; z$ {( [% [
  {
, A' O% c5 o- {4 U: @9 {& q) m   double methoda() {return d1;}
$ G: c0 f9 ]5 p. U  } ! A! n& |) m8 `  c
  D. static class InnerOne
3 T) {5 m6 ~  b+ \* `# u/ ?; Q  {: a1 ^! a0 G* V: e
   protected double methoda() {return d1;}
; u! c4 X0 m; R7 F3 j+ ]. J' J    } $ {. b- g' E# r8 e! j) N
  E. abstract class InnerOne
$ {8 p) K# ^5 Z* b  {  h7 S- @' E, i: c1 u1 p- w+ G
   public abstract double methoda();" J: B* D2 T' j4 Q
  }
7 b- _) [, x% ^+ ~6 Y$ ?  说明如下:
9 l2 P( R& H* I  一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 故 A、B 错  K) ^( A' b2 G/ Y6 w; C" `
  二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错。故D错( f/ a7 s# G3 ]. L4 F' s& D
  三.非静态内部类的非静态成员可以访问外部类的非静态变量。 故 C 正确% t8 F4 f6 m2 M4 i
  四.答案为C、E
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:33:18 | 显示全部楼层

Java笔试预测题及答案(1)

7、垃圾回收机制,如何优化程序?   8、float型float f=3.4是否正确?8 H% R0 t4 L: P5 T4 ^
  答:不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.43 N' v( w- s5 D7 p! ?  D# a5 a+ D
9、介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)? * n! D2 z4 _3 \! C, u  m

! y+ B& A) i! o# U6 A  答:Collection FrameWork如下:
3 C3 L0 q2 n& l7 C" k# x5 @7 l  Collection; c7 M4 i& T0 W: Q; G
  ├List& |  N: ?( Y5 @. h
  │├LinkedList/ ]$ I3 R  s6 D# ]
  │├ArrayList
* @) W4 z( f1 u  Z  │└Vector; ^& ^/ O, k' E9 L+ g+ \; N" u& [
  │ └Stack5 a& p7 |! W, f0 H# S
  └Set. J' V" r! i( @; f) E
  Map# C) L4 P  T) c+ g+ B# p) m
  ├Hashtable
! p3 b) W- _5 s. m" j, ^0 u  ├HashMap
* y$ O5 u( u' V" R1 M* ?  └WeakHashMap
8 h6 F* `) N# C  Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)
" b8 H6 S/ K: F  h0 C- l  Map提供key到value的映射 # M4 z% I4 n% V
  10、Java中异常处理机制,事件机制?" o: h  @( u5 K4 W
  11、JAVA中的多形与继承?
$ z: T! m$ I! d, {
) ^) X7 f+ U  D9 b% A' W1 @  12、抽象类与接口?) e8 ]" ]5 ]. V

/ p! U# G  s) ]/ w' ^3 F& I  答:抽象类与接口都用于抽象,但是抽象类(JAVA中)可以有自己的部分实现,而接口则完全是一个标识(同时有多重继承的功能)。 / ~, B# W. l; K% S* b/ a
  13、Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示? + o8 D5 N. d$ E7 A/ s8 Q" A
  答:Server端程序:
$ ]2 M, ~# x, ~& c  package test;! C  G* L/ D% V  v- A* ?3 {
  import java.net.*;% ?9 P$ x" X+ x7 a$ {
  import java.io.*;
' n* l* w1 I$ `$ `2 F) H" S# c6 O
& i% K3 K  N& L# ^9 O  public class Server4 E# x; L# |/ [: X0 O, J* C
  {
) |) s3 F4 s5 W) U% {   private ServerSocket ss;
/ c7 @2 Z: T+ L' P& E* D5 @4 W( |7 O   private Socket socket;. Z; V+ T* ^) T; g. Y
   private BufferedReader in;
! x+ Q1 Z& n4 v' Q# S: f9 m' H9 W   private PrintWriter out;
4 Y3 N4 q% ~$ v; \& `7 F   public Server()
( |4 R! S: v# V- E' q   {
* [, ~7 c& X$ ^    try
1 s7 M$ @& v0 h1 j& j    {
7 A2 y9 M" c7 `3 W     ss=new ServerSocket(10000);
5 F5 p0 j4 j# @% M& [7 m     while(true)) {1 k" L" Z# ?: I, a( ?
     {' t' S/ n6 r# L( U" H- g; [2 X
      socket = ss.accept();* g* E% a1 f# c' R0 L" Q
      String RemoteIP = socket.getInetAddress().getHostAddress();  V2 \* ?4 ^- c( w% B: t9 K
      String RemotePort = ":"+socket.getLocalPort();; t! h1 t* {+ B% D! E; r% Z8 S  F
      System.out.println("A client come in!IP:"+RemoteIP+RemotePort);
' ?3 {; A* W5 Y& C. ^      in = new BufferedReader(new InputStreamReader(socket.getInputStream()));8 B  Z5 ]/ p5 Q; J
      String line = in.readLine();, {' ]! B0 w# O6 G9 f
      System.out.println("Cleint send is :" + line);
: t$ }- e+ p1 U$ P      out = new PrintWriter(socket.getOutputStream(),true);/ ]# t3 g7 C! z3 @1 t% t! s
      out.println("Your Message Received!");
# B. P' F! E# h      out.close();
0 A8 K  E5 V* b1 ^      in.close();3 C* B6 ]9 C' A+ N
      socket.close();
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:33:19 | 显示全部楼层

Java笔试预测题及答案(1)

     }
# [3 Y9 s7 ^- t5 n0 v% V    }
* @+ F1 F) B. m; s+ _! ?2 Y3 s    catch (IOException e)9 e2 K4 i" ?$ L% Y3 d( I7 E
    {
% J; i: V3 x- c/ J     out.println("wrong");
3 B. }; o0 o" D6 w( D    }" g# `4 S0 r* R8 q3 ]$ [9 l9 Y
   }& l5 e' S* d7 S/ }( p
   public static void main(String[] args)3 h' }7 N9 |) t( V# ~0 _7 G& Z! F
   {. R) A; l' g, I! f# A" L
    new Server();
/ \  v3 `; j( W1 m   }
9 S' A: H2 I6 M) ~( Z  };
. y! R$ y- q7 o$ O  Client端程序:
! N6 f8 H( |7 V7 l  package test;- Q, C; ]8 u! {/ |
  import java.io.*;* e2 [4 T+ N" _1 t. }
  import java.net.*;</p>  public class Client/ [& q5 G5 |/ Q3 H* m. J) z/ Z
  {
/ q7 Y( F# J- I/ q5 ^: A   Socket socket;
+ [+ v5 X- R' g% A: N; P   BufferedReader in;
8 ?- w/ d# K3 S   PrintWriter out;
6 o) U6 f! W6 _  \/ [   public Client()* Z3 D: n/ w9 _% a0 v
   {
* y! y/ D) D4 p. a    try$ X( E1 q% d9 _* z) Q* ^
    {1 S% n) }, `8 M  @0 i
     System.out.println("Try to Connect to 127.0.0.1:10000");% v* k8 ~$ f. M& [8 {
    socket = new Socket("127.0.0.1",10000);
; X( m0 V3 p6 V, `$ [     System.out.println("The Server Connected!");  a, n8 p7 `, C5 @$ }
     System.out.println("Please enter some Character:");
. B( v3 m4 V& U/ F. @     BufferedReader line = new BufferedReader(new 4 V( ]. B7 Y' b* q+ ]' I

8 D0 l1 e3 j8 r     InputStreamReader(System.in));
0 G9 A5 s- {* b& v! J5 g  y$ V     out = new PrintWriter(socket.getOutputStream(),true);
- N! ~. y" f* L5 m     out.println(line.readLine());
4 w; o8 i3 |+ W0 ?     in = new BufferedReader(new InputStreamReader(socket.getInputStream()));8 X; |1 A6 A& `1 x% X; r
     System.out.println(in.readLine());/ B6 h' r1 J: j. ^
     out.close();
) r- f* f# w/ I) t     in.close();( [3 z9 V2 Y, y. Q% R7 d7 B' x  g
     socket.close();) L: r. J- Q! m) @# R/ q9 Q
    }
: @/ y. i, c$ O/ e+ I& |+ K. u    catch(IOException e)
. f  y( n4 s$ ?    {1 k6 i# D0 W' V, Z1 b2 y. p
     out.println("Wrong");. w5 ]0 O! T5 V  S
    }
3 L1 A! I9 L& b/ T   }
; D7 }6 H3 [0 e$ C$ x0 h) ]   public static void main(String[] args)& f( U  j, r9 ]
   {
3 `; n9 l/ C5 m* b% Q9 ?    new Client();
9 J  |! {9 {4 P: ~   }
: s, d, V- t. U% R2 l5 V  };
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:33:20 | 显示全部楼层

Java笔试预测题及答案(1)

14、用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在COLLECTION框架中,实现比较要实现什么样的接口?/ O6 z% {2 }$ G
* A7 n+ a3 e$ ?3 d# G0 s! F; r
  答:用插入法进行排序代码如下
  Z0 H/ t" U$ ^$ U  Z& G  package test;5 G. q6 b7 E1 j( h( f
  import java.util.*;5 e0 V. ~+ W3 J$ f4 k9 L3 u7 K' A1 u
  class  InsertSort3 V. _# g  I& ~! i2 X0 r
  {
* k# H* I, s. S5 ]- ~9 x$ S   ArrayList al;  E( S6 T) u; A0 L* V2 ?
   public InsertSort(int num,int mod)* M0 w  C4 V  \( C% T7 R
   {
" D1 t+ m! X1 T5 `. `  d4 i6 |    al = new ArrayList(num);) s; s: ^8 z+ h0 D
    Random rand = new Random();- A6 K  X0 o1 i  N( u* M
    System.out.println("The ArrayList Sort Before:");
2 `) Q* `. D6 ^3 k    for (int i=0;i)  * f5 T  L; @/ O: N( X: E+ D& K
    {; u3 G; M2 e3 t% T+ F$ i& X
     al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1));, r- i( I" a; k2 s: X4 Y7 n
     System.out.println("al["+i+"]="+al.get(i));
- R/ Z* g5 W1 L) `7 n9 W" c    }7 k/ Y9 n! X+ ]" H. d# J
   }
9 Q! h2 s3 t3 C/ |$ r   public void SortIt()
2 ]; M2 c, s1 U: v7 d   {( P2 p6 d4 N% x& ~" O, s
    nteger tempInt;
; M' l6 B. C' m! Z    int MaxSize=1;" S% j3 v, m8 p/ V7 ]( f3 Z' ?
    for(int i=1;i  )
% m+ g( L, v. x0 u" R% _    {
, v* X. V4 h4 R1 S- r     tempInt = (Integer)al.remove(i);  V  s# ~5 z" ]# W$ s& e
     if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue())
/ B) f/ ]- T9 }" T' D2 F9 s     {
& m6 ]. }7 P5 a      al.add(MaxSize,tempInt);. E% ?# M( w3 |0 t" V9 D2 _
      MaxSize++;
! M9 R9 ~) E- K+ p) v      System.out.println(al.toString());
& P, s" T( ^* P/ e     }
0 V8 e& [& x- d' s     else / B! F! D% R; b1 o6 z; h
     {
# N0 C  M% k" q/ k- P2 s- N      for (int j=0;j)     1 ]# K/ O' g7 Y9 h* m* ?/ G
      {( Y/ M1 |+ V6 o. y# Y3 ?
       if (((Integer)al.get(j)).intValue()>=tempInt.intValue())* [6 [2 @/ u  d; Q) z) Z  G
       {
6 L- \" Z& r2 ^2 J        al.add(j,tempInt);
7 z5 \0 O  e" x# f- N3 e) q: b! X        MaxSize++;
% R/ m  A( w; ^; D) u& C        System.out.println(al.toString());
3 t6 s2 N- K3 e- s( q* |        break;- L, I# L, ]7 }/ s6 w1 U
       }
- I- z9 L" I( m* \      }
+ `' f& J9 }7 r1 J2 p     }7 I3 t4 v2 z. S! ^0 u4 `* R5 `
    }
+ L7 J( o& K) _$ r0 [2 p1 c* I: L    System.out.println("The ArrayList Sort After:");. G3 w  F9 J' A( e7 j( F
    for(int i=0;i)  : [  N% _5 c/ J' t- k1 c0 H: D  Q
    {
- Y4 X2 t. a& H1 C; \7 t' `     System.out.println("al["+i+"]="+al.get(i));. S+ p$ E5 t6 i( o0 B' M
    }
+ r  ]1 Y0 V0 ]- E* N& }   }8 y- x" K" ]0 {$ `
   public static void main(String[] args) ; Q1 H- l2 V7 G1 b
   {
9 Q7 {, J# g1 a( c" E, [, z: D    InsertSort is = new InsertSort(10,100);5 ^' _- b- z, I
    is.SortIt();% _% ?% [2 A  _# E$ c* A5 ]
   }
9 F  z3 m6 R: |; p9 z4 a  }1 ~! c6 v! |; c2 U/ h; w1 q
$ G* E4 ?/ X3 W. N
  JAVA类实现序例化的方法是实现java.io.Serializable接口  b& D. X: N- f2 C
  Collection框架中实现比较要实现Comparable 接口和 Comparator 接口
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:33:21 | 显示全部楼层

Java笔试预测题及答案(1)

15、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
, C3 S$ y1 B' v1 K
) b/ ]9 d$ J9 z* ?) z2 `( x) [3 F  答:代码如下:& O/ X0 f$ n( q: S+ E
  package test;
  h( v, v* `; }. G% T6 ], {# u* g; X  class  SplitString) `2 J: F- T& ^+ X9 x5 s+ ]+ I; E
  {
) \% Y+ {8 U: w5 i: e6 j% x   String SplitStr;
7 c; _. i/ n8 d) d. L9 U   int SplitByte;/ q6 y! `+ E. `  T) A8 `
   public SplitString(String str,int bytes)2 l' @, n7 V$ o3 i  s3 Y8 i
   {
* \6 }: V, ~/ d% p    SplitStr=str;
: i  k# z$ g) }, _4 f7 D    SplitByte=bytes;( x5 {+ c5 E6 x9 ^- v, u% t: K8 c
    System.out.println("The String is:'"+SplitStr+"';SplitBytes="+SplitByte);
3 V0 |# i! `9 J2 ^   }
  r$ |, F" {  U( j8 ?0 p" }   public void SplitIt()
5 X+ m* A, m  \9 t6 \) U2 Z+ _9 R   {
) d. p- t% k* b9 G    int loopCount;2 ?$ j+ N8 T# J* }
    loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/SplitByte+1);
+ P( q' d+ |% \0 p. p- ~    System.out.println("Will Split into "+loopCount);
' _, b) u% ]9 g1 [2 p' d    for (int i=1;i
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-21 19:25 , Processed in 0.238689 second(s), 31 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表