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;
}
}
-
關於JDK5交通燈模擬控制系統
為了方便廣大程序猿交流和學習,下面小編準備了關於JDK5交通燈模擬控制系統,歡迎大家參考!本系統由,,和組成。:packagefic;publicenumLamp{//前進,左拐,右拐S2N("N2S","S2W",false),S2W("N2E","E2W",false),S2E(null,null,true),E2W("W2E","E2S",false),E2S("W2N","S2N",false),E2N(nu...
-
JavaWeb(J2EE)面試題及答案
1、JSP如何處理運行時異常(run-time)exceptions?可以使用頁面的errorPage屬性捕獲沒有處理的運行時異常,然後自動轉向到一個錯誤處理頁面,代碼如下:如果在頁面請求時出現運行時異常是,以上代碼會把頁面轉向到JSP頁面,在裏面,可以通過以下代碼定義這個頁面是錯誤處理...
-
Java中最常見的錯誤盤點
在編程時,開發者經常會遭遇各式各樣莫名錯誤。近日,SushilDas在GeekOnJava上列舉了Java開發中常見的5個錯誤,一起跟yjbys小編來看看吧!1、Null的過度使用避免過度使用null值是一個最佳實踐。例如,更好的做法是讓方法返回空的array或者collection而不是null值,因為這...
-
Java中的運算符有哪些
java的運算符有算術運算符、關係運算符、賦值運算符、邏輯運算符、位運算符、條件運算符,下面我們一起來學習java運算符的詳細內容吧!1)、算術運算符運算符運算範例結果+正號+33-負號b=4;-b;-4+加5+510-減6-42*乘3*412/除5/51%取模(求餘)5%50++自增(前)a=2;b=++a;a=...