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;
}
}
-
2016年二级Java试题及答案
1、下列叙述中,错误的是______。A、Applet的默认布局管理器是FlowLayoutB、JApplet中增加构件是加到JApplet的内容面板上,不是直接加到JApplet中C、JApplet的内容面板的默认布局管理器是BorderLayoutD、JApplet的内容面板的默认布局管理器是FlowLayout本题考的是...
-
2016年最新JAVA编程题及答案
【程序1】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。【程序2】题目:古典问题:有...
-
最全的java随机数生成算法
java随机数生成算法是怎么样的?下面yjbys小编为大家分享最新最全的java随机数生成算法,希望对大家学习有所帮助!一个最全的随机数的生成算法,最代码的找回密码的随机数就是用的这个方法:1Stringpassword=rateString(10);源码如下:001package;002003importom;004005...
-
Java main方法经典面试题
以下是笔者认为比较经典的关于Javamain方法的面试题,与其说是Java面试题,其实也是Java的一些最基础知识问题,分享给大家,希望对大家面试有所帮助!1.不用main方法如何定义一个类?不行,没有main方法我们不能运行Java类。在Java7之前,你可以通过使用静态初始化运行Java...