オファー(Java版)第五の質問は、WINS:文字列を整数に変換し、ライブラリ関数は、整数の文字列を変換使用しないように頼みました。0または文字列の値が0の有効な値ではありませんが返されます。

/ *
整数にA列は、ライブラリ関数を使用することができない要求は、整数、文字列を変換します。
0の値または文字列が有効な戻り値0ではありません
* /
//入力英数字記号を含む文字列、nullにすることができ
そうでない場合は、0式が有効な数値値が返されている//場合
//入力:
// 2147483647 +
// 1a33
//出力:
// 2147483647
// 0
パブリッククラスClass55 {

公共のint StrToInt(文字列STR){
IF(STR str.length == NULL ||()== 0 || STR = = ""){
戻り0;
}
のchar [] = CH str.toCharArray();
int型のインデックス= 0;
intはI = 0;
IF(CH [0] == '+'){
インデックス= 1、。
。I = 1 ;
}
IF(CH [0] == ' - '){
インデックス= -1;
I = 1;
}
SUM = 0 INT;
のための(; I <ch.length; I ++){
IF(CH [I]> = 48 && CH [i]は<= 57){// ASCII码
和=和* 10 + CH [I] - 48。
}他{
0を返します。
}
}
もし(インデックス== 1){
戻り和。
}
(インデックス== -1){もし
戻り和=合計*(-1)。
}
の和を返します。
}

公共ボイド試験(){
文字列str = "-2147483647"。
System.out.println(StrToInt(STR))。
}

パブリック静的無効メイン(文字列[] args){
// TODO自動生成方法スタブ
Class55 C =新しいClass55()。
c.test();

}

}

おすすめ

転載: www.cnblogs.com/zhuozige/p/12535472.html
おすすめ