a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 161|回复: 2

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

[复制链接]
发表于 2012-8-4 12:28:23 | 显示全部楼层 |阅读模式
8:字符串分割:
9 L, ]4 w- L+ M" I, n; C& c# p    public int getCount(String str,String sign){//查找某一字符串中str,特定子串s的出现次数
, o1 p8 {" E6 @- a4 R  mif(str==null) return 0; 3 d) f7 y0 \: n& @6 ]' w
StringTokenizer s=new StringTokenizer(str,sign); 1 z+ N0 i" b9 x( I& L* s/ ]  U! a6 Z
return s.countTokens();
% n6 |/ Z  v" q* g9 `. h}
$ \, ?2 B8 y/ U- v' V. D  public String[] getArray(String str,String sign){//按特定子串s为标记,将子串截成数组。
* Z0 l% P; f" x/ q: r- y3 ]# Kint count=getCount(str,sign); 8 n0 w  l) a0 A* a# `: S; q. a% R
int j=0; $ x  E$ P* H  {: p1 g1 v
String[] arr=new String[count];
% s( Y* z& E0 K7 Jfor(int i=0;i stringLength)
9 l" h) t7 s+ ~  I0 J7 w{
% o1 B& S/ x0 f8 H. k' C) rint max = 0; 7 B5 Q0 p2 ?) H. S/ M. o$ L) K
String S4 = ""; 7 n* F! t% n% N( t; k# S" ]1 ?
for(int i = 0; i < sourceString.length(); i++) ! D6 W( X( \+ d2 }
{ 7 c* o. n* A% A3 l- z% S
max = i + toReplaceString.length() > sourceString.length()? sourceString.length():i + stringLength;
0 k  L* A* X1 Y# {& gString S3 = sourceString.substring(i, max); ( L! f  j4 M/ V
if(!S3.equals(toReplaceString))
1 O) d+ K" U0 e6 q{ , i* N& K2 K: y* n: U
S4 += S3.substring(0,1);
" L- x6 _& \+ L8 }! q& O}else{
9 {- \& [. U8 L$ o$ K+ u* d( {S4 += replaceString;
4 M% m0 d/ Z6 q( _+ F4 l) y- ai += stringLength -1 ; 9 M/ r5 o! m' p( A1 K0 w
} , X' R# S) p/ \! L9 N
}
! m( M- G* S2 `; M) J+ R8 b0 e( {returnString = S4;
$ W+ u# W% _) S) c0 B- l} " z- T8 O, _1 _" [9 K/ s- W" b
return returnString; ! s9 I/ D, [. A) o  b# j
}
回复

使用道具 举报

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

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

9:设置weblogic连接池:
. {4 A3 x' U6 m( L- K- h. |3 J! c& `0 a
pool的配置: ; o0 g' d! l1 a# l, l/ H4 e
假设已配置服务:expserv # z1 _+ h' U0 d; {" K8 j
且数据库服务器机器名为:expserv + v3 Q: I. e+ o* I; _& f( {2 C
数据库sid:expservSID,用户名和密码都为:expserv # i# U: P. I( U# H6 }
以weblogic7.0为例,首先启动服务 2 Z8 I! ~  {+ E; c
http://localhost:port/console
; o% ?  Z  M. y- l, A- T打开service\jdbc\connection pools
* i) V1 r7 T* o7 a4 w8 ^% h, j配置oraclePool如下:
1 w* d1 ~- W3 P/ F3 |Configuration: , k/ N; m. @4 J8 C6 J
Name: oraclePool ! m: V9 B, e8 z: @, a% E! V  l- M
URL: jdbc:oracle:thin:@expserv:1521:expservSID ! H2 Q  b9 v2 ^, ?
Driver Classname: oracle.jdbc.driver.OracleDriver " V) v9 A5 x, b) R
Properties(key=value): user=expserv
' e) l9 z" ?2 CTargets: $ ^( s# W' X0 S6 D) u
Targets-Server:expserv ( _* ]* j+ Y; Z8 y* x" {% w/ @
在weblogic7.0中除了数据库密码,其他的pool参数都可以在config.xml中直接用文本编辑器直接修改。 9 m( u# H) |" w0 X) n3 h2 A

1 j" c- B1 Q+ r: t& K: Z7 k, x( f10:数字转货币大写(js)
! }' I- C9 `  V% I" i3 c: E+ Jfunction ChangeToBig(value) 4 ~. z( o; t* Z
{
7 t- {2 `! ^& N1 {/ D' tvar intFen,i; ( M0 M; X6 L- k$ \8 `
var strArr,strCheck,strFen,strDW,strNum,strBig,strNow; 8 P, T1 e4 x+ `6 e# F% ^* _
% I, D, l2 L6 i  K- f2 d
if(trim(value)=="") //数据为空时返回"零" ; @% ]! R6 [/ G8 I4 V; G
return "零"; " B: G" J/ U% P% Y' O# W
if (isNaN(value)) //数据非法时提示,并返回空串
8 f& R% {. D8 k4 Q# x{
4 T8 y9 ~9 W9 o4 H, a/ GstrErr = "数据"+value+"非法!" , X# H( I2 @7 t
alert(strErr); 2 Y& |# k( a9 b+ @9 }  s
return "";
% D. ^+ F* q8 V! S- r} , v2 X8 u$ e: L2 B$ ~, u
strCheck = value+"."; # [( |" z' i7 @  {% l; W
strArr = strCheck.split("."); 2 x% R/ ?& @; L, c- e. D, b
strCheck = strArr[0];
  i) L" k! y0 I$ s8 Bif(strCheck.length>12) //数据大于等于一万亿时提示无法处理 5 C+ F: Q: _5 L) z4 x* x9 C9 _7 z
{ 7 e- v8 R6 i/ g; i) U
strErr = "数据"+value+"过大,无法处理!" $ ~7 ]$ T6 B( }8 B  u+ X
alert(strErr); . G" n3 v9 D; g, U$ R3 W# W4 Q) P! ?* U
return "";   w6 y' x$ i1 f
} * n; J2 T' `* @# ]5 N& Y% U
try . }8 q  ~7 x* `9 Q
{
( v) p$ b1 i: {$ d0 P! Ui = 0;
1 A5 H# `; i8 wstrBig = "";
1 R9 m# l& y8 U7 F$ v7 dintFen = value*100; //转换为以分为单位的数值
3 q! o8 [# y! {4 Y  |5 MstrFen = intFen.toString(); , N! E' M* N( I& A* \3 {0 Z
strArr = strFen.split("."); 1 l7 T" D2 T5 v! w6 U
strFen = strArr[0];
& g9 ~7 b  S: f, ~) ?2 YintFen = strFen.length; //获取长度 , N4 O) Y# Q" ]; P) a
strArr = strFen.split(""); //将各个数值分解到数组内 + m$ }2 k3 [; f( @7 M. h3 T
while(intFen!=0) //分解并转换 4 R- O  C2 @% o) K: I
{ , f) T# Z! g9 i: d3 }
i = i+1;
$ ?+ k( O2 N% \( g( Rswitch(i) //选择单位
7 N; ?% ?0 U" {6 \$ H% t& z! \$ z{
# x1 ]/ x& I$ _- g- o+ R2 q! ncase 1:strDW = "分";break;
) k" t& n& \9 j% e* |case 2:strDW = "角";break; 8 n: `% b! E5 v* a$ Z' ^  B! z  R5 V
case 3:strDW = "元";break; . k$ R7 O# _0 Z+ u* |
case 4:strDW = "拾";break;
& h2 ~/ G) q, n6 n$ xcase 5:strDW = "佰";break;
( Q6 G, i' i- `8 ucase 6:strDW = "仟";break;
3 U5 W4 v2 a8 ^3 w0 J0 Q! Dcase 7:strDW = "万";break;
; s* M5 G0 P' ?. s3 v5 \' Y  Hcase 8:strDW = "拾";break;
6 O. O* p0 T; U6 j( ccase 9:strDW = "佰";break;
3 Q% b9 }( Q( q5 gcase 10:strDW = "仟";break; , x8 b6 ^7 q2 B% F- V- l! x
case 11:strDW = "亿";break; 6 J. c" p, G5 D8 U
case 12:strDW = "拾";break; - J$ @$ @% O- M2 x
case 13:strDW = "佰";break; 3 M' E* P4 Y( u) w! e3 o
case 14:strDW = "仟";break;
" E5 u3 E& u/ N0 t5 _}
! S9 o% p( Y* h/ P' Fswitch (strArr[intFen-1]) //选择数字 0 W) U* Q8 m3 m
{ . {' g2 t( L' F+ v: Z# Y! _
case "1":strNum = "壹";break; - O, u, q" Y( {" |
case "2":strNum = "贰";break; + ?' w2 P  {% P; j' X9 t" I' h! E
case "3":strNum = "叁";break; - y. [4 g& |; \/ x
case "4":strNum = "肆";break;
5 l' }' l$ b! C( l5 d8 S4 hcase "5":strNum = "伍";break;
% \1 _( t( s6 G3 a0 b; u! F, u- hcase "6":strNum = "陆";break;
5 O6 m$ [' z" c; B6 v$ }+ f4 scase "7":strNum = "柒";break;
* _- G* R1 d$ d: `case "8":strNum = "捌";break;
/ S# G; ^* E: ]) D! c2 D4 bcase "9":strNum = "玖";break;
  c! {  }6 z) A, `6 q9 z( Pcase "0":strNum = "零";break;
3 e7 G5 {% I! O3 T& _}
回复 支持 反对

使用道具 举报

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

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

//处理特殊情况
5 n$ h, B( g  E+ o& R& |9 ^# ~strNow = strBig.split(""); 3 I7 H$ G1 U( B3 a0 _$ J
//分为零时的情况
4 m5 f) U7 ~3 f5 I4 T0 Fif((i==1)&&(strArr[intFen-1]=="0"))
7 B( D1 s: G# F3 ~( r, b0 dstrBig = "整"; 8 {0 n" `" C: ?' H; D* @7 j
//角为零时的情况 1 h6 g) o5 ~+ F" I
else if((i==2)&&(strArr[intFen-1]=="0")) + i- o" {8 q6 S. K
{ //角分同时为零时的情况 6 v: _$ R$ F; X, v* s- S$ s
if(strBig!="整") * y" M- y. K; x' q+ @" C# V' a9 q
strBig = "零"+strBig; * ~9 f8 Y# E: j
} 6 J% M% h/ K# c" b8 P' Z! J. _5 F: A
//元为零的情况 4 ]! H8 }1 R) G# ^0 M
else if((i==3)&&(strArr[intFen-1]=="0"))
5 N% ?* d/ @) X4 S  O' UstrBig = "元"+strBig; " F# X) e. }' p4 @2 k, Q
//拾-仟中一位为零且其前一位(元以上)不为零的情况时补零
* X# T. K8 w) x+ ?7 r5 p. ]& d* a+ Velse if((i3)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="元"))
8 D* H' q6 @. w; g& z8 z6 T( wstrBig = "零"+strBig;
& v; ?9 C/ |- O" {0 x9 u//拾-仟中一位为零且其前一位(元以上)也为零的情况时跨过
) L! c: J8 M5 w* D. H6 I; L' L# jelse if((i3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零")) 7 P4 t0 J  z7 o) g: ]! G
{}
5 \4 g: t9 o+ f. w# `" v//拾-仟中一位为零且其前一位是元且为零的情况时跨过 ! r! u; V3 V& h% D  Y% `5 `
else if((i3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="元"))
/ m" z% l- s  T# k9 Q{} / b# s. K* G! c0 Q5 f
//当万为零时必须补上万字 $ q. g! M- l1 b! |! n2 V' u1 n2 o
else if((i==7)&&(strArr[intFen-1]=="0"))   I' i: y2 K& ]  r: m
strBig ="万"+strBig; ; K9 u! M% I* g$ Z. q, j" P6 b8 N
//拾万-仟万中一位为零且其前一位(万以上)不为零的情况时补零   I7 Y8 V8 @, f" [  s& \
else if((i7)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="万")) + X+ E" l  R) C* {7 d0 @% l* Q
strBig = "零"+strBig;
' A, |) W' c- I( T: s+ _" }' L/ s//拾万-仟万中一位为零且其前一位(万以上)也为零的情况时跨过 0 k' _8 e4 u+ d: |4 z: E
else if((i7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="万"))
8 ]0 H7 D5 V! C* U; R{}
7 ]$ n+ {$ B" O//拾万-仟万中一位为零且其前一位为万位且为零的情况时跨过 * i. {, i9 g2 _# Q- l) Z3 s* U" h
else if((i7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零")) 6 T8 X- q+ i/ o- H
{} , Y& j( ^" V  W4 ^" Q
//万位为零且存在仟位和十万以上时,在万仟间补零 + f- P$ ]" g8 Z1 W+ b0 f
else if((i8)&&(strArr[intFen-1]!="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))
; Y% P* N1 k8 s' G, W* g  W: |strBig = strNum+strDW+"万零"+strBig.substring(1,strBig.length);
+ j& Q3 ^* n! o. ^9 m. S* x) y1 N//单独处理亿位
9 C0 m+ I) G+ n9 k9 F5 s( \* Welse if(i==11)
" j  V4 x4 f% _$ T{
8 F1 D" d7 i% `//亿位为零且万全为零存在仟位时,去掉万补为零 1 t7 C8 x7 G' c1 H- D% f0 ?
if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))
) K. e- D6 k8 I1 gstrBig ="亿"+"零"+strBig.substring(1,strBig.length); 7 Z) g4 Y4 f7 J2 ]  t; H; [
//亿位为零且万全为零不存在仟位时,去掉万 * Q: K  j! g8 q5 w. @& B1 T
else if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]!="仟")) ; l. f7 N* [& Y3 }- t
strBig ="亿"+strBig.substring(1,strBig.length);
( b9 L: L; f. U9 z//亿位不为零且万全为零存在仟位时,去掉万补为零
4 V+ W! l' z1 `% ?( t& z+ |else if((strNow[0]=="万")&&(strNow[2]=="仟")) 5 {0 C, Z. @% b0 j' P6 v
strBig = strNum+strDW+"零"+strBig.substring(1,strBig.length);
* R+ b/ n; o! z% h  r) m//亿位不为零且万全为零不存在仟位时,去掉万
' k! y9 B5 E2 m" ^, y* l1 P( Xelse if((strNow[0]=="万")&&(strNow[2]!="仟")) 2 N0 |: \( Y+ ^: _+ h7 d1 N! v
strBig = strNum+strDW+strBig.substring(1,strBig.length); # f2 l# x' P, @0 R+ l
//其他正常情况 ( \3 |* x8 W: n
else
5 u7 P) h$ B2 H2 V0 U& I4 KstrBig = strNum+strDW+strBig;
! V) A7 O. Y* v3 ^( O3 q} 3 h4 [% T$ [3 }& c% w
//拾亿-仟亿中一位为零且其前一位(亿以上)不为零的情况时补零 ! ~  O2 {% \6 c9 T' G0 Z0 ^, v8 g7 k  H
else if((i11)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="亿")) & L& K( Z7 Q/ }
strBig = "零"+strBig; ; a- ~  c- w# o0 o7 v2 X$ W  n( B
//拾亿-仟亿中一位为零且其前一位(亿以上)也为零的情况时跨过 ( c% y* M3 Z/ z
else if((i11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="亿"))
2 D0 X+ d1 q) ~, f) Q+ K/ M! t{}
* d( ~5 f% [' J& n5 X//拾亿-仟亿中一位为零且其前一位为亿位且为零的情况时跨过 4 M$ E( ]. Q4 z& L+ }/ O8 }
else if((i11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))   D, J7 Z3 E/ o7 g; E& w9 H# o( ^
{}
5 D8 W6 h( j8 o2 _- q  |) S//亿位为零且不存在仟万位和十亿以上时去掉上次写入的零 $ ?' ]# u: C1 ~8 g' [
else if((i11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]!="仟"))
! g8 b5 S( X2 bstrBig = strNum+strDW+strBig.substring(1,strBig.length);
0 T7 X% y# w6 ^//亿位为零且存在仟万位和十亿以上时,在亿仟万间补零 , }4 t. ]# R/ R4 ~+ q% F
else if((i11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]=="仟")) 4 d0 o* U/ q- V' v$ d8 N
strBig = strNum+strDW+"亿零"+strBig.substring(2,strBig.length);</p>
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-27 21:17 , Processed in 0.278645 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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