a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 122|回复: 2

[其他] java新手必看:经验总结(2)

[复制链接]
发表于 2012-8-4 12:28:23 | 显示全部楼层 |阅读模式
8:字符串分割:
9 |$ E* {- F- c$ @    public int getCount(String str,String sign){//查找某一字符串中str,特定子串s的出现次数 ! E; A1 c5 T/ H$ a- c6 b) F" c
if(str==null) return 0; & G8 y8 Z2 ^7 O& K$ \: ?
StringTokenizer s=new StringTokenizer(str,sign);
5 q' u$ V0 r) T- c3 ]: O3 mreturn s.countTokens(); ! N9 y- O! I  {$ K+ [4 U+ c$ t
} 6 u9 g9 w3 I4 p" O/ a$ Z' h% P1 W9 y
  public String[] getArray(String str,String sign){//按特定子串s为标记,将子串截成数组。
" T/ H; ]( @7 S8 b" a% _int count=getCount(str,sign); % P+ Z, j5 \9 V  {' Y4 ^
int j=0; 2 u! ?& z7 a( k0 T
String[] arr=new String[count]; 6 b+ c# m( s( Y4 v% p# L3 v
for(int i=0;i stringLength) $ l7 {1 O( }* f8 p
{
9 i; x( m. ?# X4 rint max = 0;
( @" C8 T( F5 P8 l) f& JString S4 = "";
' z9 K6 p( {9 K* z0 y  ~, efor(int i = 0; i < sourceString.length(); i++)
) f4 k, V7 B( _. D) i{ . f/ V% a2 Y: q1 o$ J
max = i + toReplaceString.length() > sourceString.length()? sourceString.length():i + stringLength;
! r1 v4 ]5 y5 G6 E6 v; FString S3 = sourceString.substring(i, max);
! e: r  ~9 y% Nif(!S3.equals(toReplaceString))
! A( q  |- l( J8 |{
7 z1 ~, B4 _) x- @0 \; L' P7 ?S4 += S3.substring(0,1); 8 C) @7 a* F5 e* M- \8 t/ W# j$ U
}else{
& F9 P4 O) D# a8 HS4 += replaceString; ) T+ p& b" v) O- T0 D0 j+ W
i += stringLength -1 ;
; w8 j" J. R8 _) [: W} : N" M2 @6 q; R9 t- x/ a0 O7 \
}
/ T; w* D' o& k+ TreturnString = S4;
) [1 U" }" r  n} 9 S7 B7 B7 t5 U
return returnString; : J! n3 ~1 W7 l. ~" D3 N# a
}
回复

使用道具 举报

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

java新手必看:经验总结(2)

9:设置weblogic连接池: 1 o$ s) |/ i' z

9 a. ~9 Q* w- e, dpool的配置:
' M8 n/ |2 X0 I% b" C0 N" ^/ m假设已配置服务:expserv
- K8 b1 T1 r8 V% ?( _; S且数据库服务器机器名为:expserv
% o0 L7 D. n- B2 |0 M6 e; s  h, y数据库sid:expservSID,用户名和密码都为:expserv / j) q% D/ |' o$ N
以weblogic7.0为例,首先启动服务
7 u2 k" t; U: O! i+ V5 F' F# V6 Z& ghttp://localhost:port/console 1 _: r6 z! ^( S! Q% F
打开service\jdbc\connection pools # V  ]% T: g3 t2 ]6 N
配置oraclePool如下:
( ?; _8 n9 ]- g) M/ }9 ^/ sConfiguration: ) s; k) v" o7 I* ^+ a; R. z/ w& e
Name: oraclePool 9 u/ h8 O1 L' f
URL: jdbc:oracle:thin:@expserv:1521:expservSID % L+ ]) y& G; ~3 I+ Y# X
Driver Classname: oracle.jdbc.driver.OracleDriver
/ L' E& [! n" F: R7 s+ _Properties(key=value): user=expserv
0 O! H; A/ B+ j8 B7 aTargets:
% O& u+ g# D1 E9 E6 ZTargets-Server:expserv ' k1 m5 o1 N* x; J8 N6 N7 X
在weblogic7.0中除了数据库密码,其他的pool参数都可以在config.xml中直接用文本编辑器直接修改。
: {: E; ?. j$ }7 }+ g9 g& U: _: R
' }- {+ k* ?% m1 S5 T10:数字转货币大写(js)
: t) {5 ~( L/ ~" c- C2 C6 Bfunction ChangeToBig(value)
, V8 O! n+ {+ W) w. k{
; r2 {- Y# K& T- _0 R# ivar intFen,i;
$ ~  \+ y/ t2 j, Y$ |) v* Wvar strArr,strCheck,strFen,strDW,strNum,strBig,strNow; ; s( ^+ ^8 Y8 u$ p# X1 i) a

" I8 n6 V9 S# N" M. t, Aif(trim(value)=="") //数据为空时返回"零" * J; v9 O3 J7 _4 r  P6 E  n
return "零"; 7 G) i8 B5 g4 e, n1 ^- o: `1 C; Q
if (isNaN(value)) //数据非法时提示,并返回空串
7 j- ^: V  ], c9 r) Y& l- t{ 6 _  ^) N! }" v( B
strErr = "数据"+value+"非法!"
) _: s8 p% s2 w8 malert(strErr); ' g# p3 L# ?: M" m) d
return "";   @. O5 |9 V" Y# F# w( y
}
: O) ~3 O; u& g# bstrCheck = value+".";
" a5 d3 I, ?5 M# B9 I( C& KstrArr = strCheck.split("."); 7 p% K& p; p$ Y) N& ~3 F
strCheck = strArr[0]; 3 |$ a9 P- F7 l4 E
if(strCheck.length>12) //数据大于等于一万亿时提示无法处理 6 `# j& o; B  ?% \4 R2 P
{
; G  l$ Y" W  f+ k7 ostrErr = "数据"+value+"过大,无法处理!" , Q7 n! K& |0 B1 A% [' ]- e
alert(strErr); $ t7 {. ]) {' P, n$ Q
return "";
& J& |2 B$ X  H5 G0 c) M} . v$ H8 G6 z' H
try
5 a& t1 n+ [3 G% U: q- k  p- f7 c{
; k7 U4 a# m! ^8 Y: C% bi = 0;
6 j7 G% \' n* ]strBig = "";
7 `. w% e2 R. ^8 k& t; G) p( MintFen = value*100; //转换为以分为单位的数值 & g# u2 W' M8 _1 q
strFen = intFen.toString();
+ T. F8 c8 I6 Q. C' s" W  CstrArr = strFen.split(".");
: l, |7 K) y" i# h# fstrFen = strArr[0];
: O& @0 I, l9 h4 f' Z; m2 {( aintFen = strFen.length; //获取长度 & [1 u( P& i5 n% R8 \  Y# h, P; i
strArr = strFen.split(""); //将各个数值分解到数组内
5 m7 D' A2 Q* ^* pwhile(intFen!=0) //分解并转换 / |, I6 V7 {$ h0 E2 C/ Z9 M6 c
{ - m0 r  g5 b1 g7 e9 s
i = i+1; , W' ]9 x) e: i7 W
switch(i) //选择单位
7 b, s1 a% r" Q& R, Y/ e{
& D( T* o9 t3 F+ D# ]case 1:strDW = "分";break; 9 k# Q) l# q) q$ _. b1 I5 J
case 2:strDW = "角";break;
  G" x4 E1 O0 K$ G! ucase 3:strDW = "元";break; - Z7 q+ T) i% C  I7 C0 Z
case 4:strDW = "拾";break;
" ?+ O* S, q& g0 S4 Mcase 5:strDW = "佰";break;
+ c2 k5 `  M( f7 J5 ]3 S4 vcase 6:strDW = "仟";break;
0 _6 n2 I$ h) Mcase 7:strDW = "万";break;
4 Y( n  R: v: G% E. U8 U9 z; D- `& Zcase 8:strDW = "拾";break;
- H% Y4 j# n& }% w. ^* F: m  Jcase 9:strDW = "佰";break;
: o% x# t  O, o" G9 t7 ]case 10:strDW = "仟";break;
6 C5 X  o4 L( Ucase 11:strDW = "亿";break; : b. F( _3 W, w$ G/ g
case 12:strDW = "拾";break; ; B! \( `# v0 R2 q' g" D6 y
case 13:strDW = "佰";break;
2 \' e# m7 F/ @8 jcase 14:strDW = "仟";break;
7 M5 N6 z! |/ S. j& C7 n}
) ], s& A# _8 Z; K& bswitch (strArr[intFen-1]) //选择数字
8 t, x8 a+ Y5 i/ k1 }{ 2 I1 f4 p! A  e" R& p9 P
case "1":strNum = "壹";break; 9 Y. u2 w8 b; Q! i5 t' n* s
case "2":strNum = "贰";break;
' }/ M' K7 @" E. D+ U0 o" Tcase "3":strNum = "叁";break; % k0 z$ W* H% L) d- @; F. e1 o
case "4":strNum = "肆";break; $ z) }0 o( b$ G( }
case "5":strNum = "伍";break; ) m+ g; b7 @9 l, R! O5 u5 @
case "6":strNum = "陆";break;
1 y4 J. x' e& w- A9 e' R' A  Rcase "7":strNum = "柒";break; ; t$ @7 U- N$ V
case "8":strNum = "捌";break; 3 d2 r2 k* Q8 U8 W
case "9":strNum = "玖";break; : W) V, O/ J! B+ S2 h! |, a2 Q
case "0":strNum = "零";break;
& c, j! }5 ~. `/ c: m}
回复 支持 反对

使用道具 举报

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

java新手必看:经验总结(2)

//处理特殊情况
" l6 q+ Y' b3 c. ]5 o: m" tstrNow = strBig.split(""); 5 X2 h. M1 c. g3 d
//分为零时的情况
8 s0 o# S3 s  @# |7 ]' O, Wif((i==1)&&(strArr[intFen-1]=="0")) 9 Y5 n$ Z6 Z, N; m
strBig = "整"; ) y$ l) ?" d& N- H( p( h
//角为零时的情况 % V- a( ~8 S% C: ^+ C
else if((i==2)&&(strArr[intFen-1]=="0"))
  s% A2 [) t8 g" k, Y7 y{ //角分同时为零时的情况 0 N4 o4 A* E7 r1 P  b  [
if(strBig!="整") ! k( ]# s. K' [" G
strBig = "零"+strBig; 0 p, x! c+ |; f* m
}
9 c/ {- G9 D: |1 G4 @6 v2 u1 n//元为零的情况
* a' l7 g( e# A5 z5 s7 x5 P- Gelse if((i==3)&&(strArr[intFen-1]=="0"))
/ q; B! d4 o& V' DstrBig = "元"+strBig;
/ v- {) \5 h+ ~/ D+ N//拾-仟中一位为零且其前一位(元以上)不为零的情况时补零
2 D* N, t6 L- Belse if((i3)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="元"))
0 b: L' {2 F' ]1 f' j* e9 kstrBig = "零"+strBig;
& X9 I" u6 f: g$ p9 O, k% _% p//拾-仟中一位为零且其前一位(元以上)也为零的情况时跨过
8 s0 L, E3 P+ t3 Jelse if((i3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零")) 4 r' R, O; K# W, |, y4 X
{}
; i, L5 T" d1 X' o2 M9 z//拾-仟中一位为零且其前一位是元且为零的情况时跨过
5 G, y* S( u* D: X, j7 Y& ?& uelse if((i3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="元"))
8 H! ^. h$ m' I{}
3 _3 e+ P. D! m3 y! x( ^//当万为零时必须补上万字 0 M% E5 L7 T: T6 D! V2 q  y% I
else if((i==7)&&(strArr[intFen-1]=="0")) " w  i# |; i, P0 l. U& |9 f: k! S) R6 x
strBig ="万"+strBig; ! g% u% a8 X0 o
//拾万-仟万中一位为零且其前一位(万以上)不为零的情况时补零 / Y! l+ ~& F! q* A0 x, d8 `8 T5 b
else if((i7)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="万"))
  p+ }7 K5 u8 h) d5 wstrBig = "零"+strBig; ; B4 U) y  S6 ~1 s1 v3 m
//拾万-仟万中一位为零且其前一位(万以上)也为零的情况时跨过
! w7 I: v, k: H& z/ l- B+ \5 kelse if((i7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="万")) 6 O2 V' T/ ?4 `1 v: l
{}
# q+ X- s5 R$ |$ d* `6 C! R' J7 I, Q//拾万-仟万中一位为零且其前一位为万位且为零的情况时跨过
3 D$ E1 @* P  E: Relse if((i7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零")) 6 t) D9 P# D+ h) P
{} 8 H2 H1 ^: t; E$ k' G
//万位为零且存在仟位和十万以上时,在万仟间补零 2 \$ ^. v0 |1 |
else if((i8)&&(strArr[intFen-1]!="0")&&(strNow[0]=="万")&&(strNow[2]=="仟")) # P) K! I2 w: F: W0 u$ t
strBig = strNum+strDW+"万零"+strBig.substring(1,strBig.length);
! e, e& Q$ V9 e6 y//单独处理亿位
4 {# u$ ~2 h1 }/ u; Gelse if(i==11)
* {9 }5 w/ N/ {( V{ ! x* D- S, w8 ?  a( j9 r
//亿位为零且万全为零存在仟位时,去掉万补为零
( C; i* @/ D+ N9 X& D( ^# a. t( fif((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))
% {4 u+ n% x1 N' m/ u; C5 I' MstrBig ="亿"+"零"+strBig.substring(1,strBig.length);
# Q0 O4 [9 n  `! ?//亿位为零且万全为零不存在仟位时,去掉万 0 t3 o/ W$ a3 w1 l
else if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]!="仟")) # n/ N% D+ }  c! o! t
strBig ="亿"+strBig.substring(1,strBig.length);
* u5 t, j! Z* h( J) k( X4 p2 k/ u//亿位不为零且万全为零存在仟位时,去掉万补为零
9 a, X; r- `+ Y5 Gelse if((strNow[0]=="万")&&(strNow[2]=="仟")) / A. R) Z$ J( R( A+ E
strBig = strNum+strDW+"零"+strBig.substring(1,strBig.length); 9 v* n( }/ a5 K2 P
//亿位不为零且万全为零不存在仟位时,去掉万
4 A3 E: Q: N. y( U- {# E! selse if((strNow[0]=="万")&&(strNow[2]!="仟"))
8 ?2 ^/ c  b' NstrBig = strNum+strDW+strBig.substring(1,strBig.length);
9 Y. b6 _$ t7 P8 h% T//其他正常情况
! `& K! }  e6 _4 e# Y& Lelse   N3 n, X' K& V1 b" k9 p( |
strBig = strNum+strDW+strBig; 7 \. Q. u0 R8 ^8 E% z
} 5 p% M6 v2 ]5 f& t9 d
//拾亿-仟亿中一位为零且其前一位(亿以上)不为零的情况时补零 9 k6 Y2 b. Y9 O1 |" M3 f; t7 m% _6 M
else if((i11)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="亿"))
9 g8 \% R4 O) O7 _7 vstrBig = "零"+strBig;
& _% V4 x0 W. p//拾亿-仟亿中一位为零且其前一位(亿以上)也为零的情况时跨过 6 G  f* g+ t* q! k- o8 \
else if((i11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="亿")) 0 h- W- i5 ~- \+ Z; T$ t+ _+ R9 X; ]
{} ) I8 [+ i7 z& O# A  H  E
//拾亿-仟亿中一位为零且其前一位为亿位且为零的情况时跨过
, r1 ]% W/ S& uelse if((i11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))   ]" U1 D% i+ q! g( t9 x3 j* {, M
{}
* q/ M% I1 M9 i4 s( J//亿位为零且不存在仟万位和十亿以上时去掉上次写入的零
9 d2 e1 ?1 N3 A4 p2 _" e# @- z& ?. ^else if((i11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]!="仟"))
- L/ w/ R5 Q- t% \7 X+ cstrBig = strNum+strDW+strBig.substring(1,strBig.length); ' K5 `& J) F4 k+ f( b7 G- }
//亿位为零且存在仟万位和十亿以上时,在亿仟万间补零
) ~8 E5 U5 K7 kelse if((i11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]=="仟"))
# S, [1 F+ [8 {strBig = strNum+strDW+"亿零"+strBig.substring(2,strBig.length);</p>
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 20:36 , Processed in 0.217508 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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