Java認證基礎知識:java字符串轉化整型問題
java 字符串轉化整型問題
public class StringParesInteger {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
tln(_VALUE);
tln(_VALUE/10);
tln(pareseInt("="));
}
/**本題考查的主要是邊界條件
* 1.穿入的字符串是否為空
* 2.字符串的首位是否為(+、-)
* 3.字符中是否有非法字符
* 4.穿入的字符串是否超過了整數的最大值(_VALUE(2147483647)/_VALUE(-2147483648))
*
* @param data
* @return
*/
public static int pareseInt(String data){
/*
* 判讀穿傳入的字符串是否為空
*/
if(data==null||th()==0){
throw new NullPointerException("data is null");
}
int index=0;
/**
*
*/
//是否為負數
boolean isPositive=true;
// 臨界值
int limit = 0;
//取出字符串的第一位
char first=At(0);
//第一位是負數的情況下
if(first=='-'){
isPositive=false;
index++;
//設置整形最小的負數(-2147483648)
limit=_VALUE;
}
//第一位是整數的情況下
if(first=='+'){
isPositive=true;
//設置最大的正數是(2147483647)
limit=_VALUE;
index++;
}
//設置比較的`邊界值(214748364)
int maxLimit=_VALUE/10;
int length=th();
int result=0;
while(index'0'&&ch<'9'){
//先判斷原來的值是否大於比較的臨界值
if(result>maxLimit){
throw new RuntimeException("整數越界了");
}
// 判斷當前位的值+ch的值是否》整數的最大值
if(result*10>limit-(ch-'0')){
tln("result-->"+(result*10));
tln("max----->"+(_VALUE));
tln("result-->"+(_VALUE-(ch-'0'))+" ch="+(ch-'0'));
throw new RuntimeException("數組越界了s ");
}
index++;
result=result*10+(ch-'0');
}else{
throw new RuntimeException("不是整數 ");
}
}
//三目運算符
return isPositive?result:-result;
}
}
-
Java基礎知識點歸納
對於剛剛接觸Java的人,java基礎知識技術點繁多,那麼yjbys小編為大家彙總最全java知識點如下,僅供大家參考學習!1.JVM相關(包括了各個版本的特性)對於剛剛接觸Java的人來説,JVM相關的知識不一定需要理解很深,對此裏面的概念有一些簡單的瞭解即可。不過對於一個有着3...
-
JAVA認證基礎知識:Java文件解壓縮示例
Java實現壓縮文件的解壓縮操作,缺點是壓縮文件內不能含有文件名為中文的`的文件,否則會出現如下錯誤:Exceptioninthread"main"galArgumentException:MALFORMEDatring(UnknownSource)atLOC(UnknownSource)atextEntry(UnknownSource)at()代碼:package;import;importI...
-
Java考試格林練習試題
question6)whichofthefollowingarekeywordsorreservedwordsinjava?1)if2)then3)goto4)while5)casequestion7)whichofthefollowingarelegalidentifiers1)2variable2)variable23)_whatavariable4)_3_5)$anothervar6)#myvarquestion8)whatwillhappenwhenyoucompil...
-
2016年Java考試精選練習題及答案
1java類可以作為(C)A類型定義機制B數據封裝機制C類型定義機制和數據封裝機制D上述都不對2在創建對象時,必須(C)A先聲明對象,然後才能使用對象B先聲明對象,為對象分配內存空間,然後才能使用對象C先聲明對象,為對象分配內存空間,對對象初始化,然後才能使用對象D上述説法...