1. 首先写了一个字符串转整形的算法:
public static class String2Int1 implements String2Int { @Override public int string2int(String str) { int value = 0; int pow10 = 1; for (int j = str.length() - 1; j >= 0; --j) { char charValue = str.charAt(j); if (charValue == '-' && j == 0) { value = -value; break; } if (charValue == '+' && j == 0) { break; } value = value + (charValue - '0') * pow10; pow10 = pow10 * 10; } return value; } }
打印时间:
1the time is 3143, strValue = -1001213121
2. 测试了Android SDK的算法:
public static class String2Int2 implements String2Int { @Override public int string2int(String str) { return Integer.valueOf(str); } }
打印时间:
1the time is 7980, strValue = -1001213121
Android SDK 算法比自己实现的算法慢了一倍。但是,自己实现的算法可不可以改进呢。
3. 改进的算法:从左向右怎么样呢,是不是可以快速一点:
public static class String2Int2 implements String2Int { @Override public int string2int(String str) { int result = 0; boolean negative = false; int i = 0, len = str.length(); int digit; char firstChar = str.charAt(0); if (firstChar < '0') { // Possible leading "+" or "-" if (firstChar == '-') { negative = true; } i++; } while (i < len) { digit = str.charAt(i++) - '0'; result *= 10; result += digit; } return negative ? -result : result; } }
打印时间:
1the time is 2774, strValue = -1001213121
总结
由此可见。最后一个算法减少了乘法运算的次数,因此速度要快一点。
如果您看了有收获,那么下载一个APl软件支持一下博主吧!还可以解决您的密码太多记不住的烦恼哦。
源码下载链接:
http://a.app.qq.com/o/simple.jsp?pkgname=com.wa505.kf.epassword
相关推荐
1162:字符串逆序 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 31557 通过数: 20735 【题目描述】 输入一串以‘!’结束的字符,按逆序输出。 【输入】 如题述。 【输出】 如题述。 【输入样例】 abc! 【输出...
在Android开发中,理解和操作字符串以及16进制数值是至关重要的技能,尤其是在处理数据传输、存储或解析二进制数据时。这篇文章将深入探讨如何在Android平台上进行字符串与16进制之间的转换。 首先,我们要明白...
“C语言字符串操作:删除串s2里包含的所有字符” 在C语言中,字符串操作是非常重要的一部分,本篇文章将介绍如何编写一个函数,删除字符串s1中包含的所有字符,这些字符也出现在字符串s2中。 在这个函数中,我们...
在Android开发中,处理图像数据是一项常见的任务,而Bitmap和String是两个核心的数据类型,分别代表位图图像和文本字符串。Bitmap对象用于存储和显示图像,而String则常用于保存和传输文本信息。本篇文章将深入探讨...
python字符串转数字
6. **UI设计**:Android应用的用户界面(UI)设计是另一个重要方面。计算器通常包括数字按钮、运算符按钮、清除键以及显示区域。使用Android的布局管理器(如LinearLayout, RelativeLayout或ConstraintLayout)可以...
在Android开发中,有时我们需要将字节数组(byte array)转换为十六进制字符串,以便于数据存储、传输或调试。这是因为字节数组是二进制数据,而十六进制字符串则是一种人类可读的表示方式。下面我们将详细讨论如何...
九度oj 题目1369:字符串的排列 剑指offer里面的题目 自己写的代码,供参考!
数字字符串转BCD码,BCD码转字符串C函数,定义好的函数下载即可使用无需更改。
一、字符串转十六进制串 要将字符串转换为十六进制串,我们需要对字符串中的每个字符进行编码,然后将编码结果转换成十六进制字符串。C#提供了`BitConverter`类和`ToString`方法来完成这个任务: ```csharp public...
软件介绍: 字符串转换器可以进行10进制转2进制转换,10进制转8进制/16进制转换。16进制转2进制或8进制10...字符串转10进制16进制,字符串转Unicode或Delphi DFM字符串。转换前选择一下要使用的转换模式转换即可。
然而,当你尝试向CLOB字段插入数据时,如果超过了Oracle规定的最大限制,就会遇到“ORA-01704: 文字字符串过长”的错误。这个错误通常意味着你试图插入的字符串超过了Oracle数据库允许的最大长度,对于VARCHAR2类型...
回环字符串,也称为环状字符串或循环字符串,是指可以通过将字符串的一部分移动到字符串的开头,使得整个字符串形成一个环状结构的字符串。在给定的代码中,我们有两个主要的函数`isok()`和两个辅助函数`addhead()`...
C语言中的字符串处理是编程面试中的常见主题,尤其是在嵌入式系统或底层开发相关的面试中。下面我们将深入探讨一些基于`string.h`库的常用字符串函数,并提供一些问题的解决方案。 1. **字符串函数** - `strlen`: ...
"Android存储字符串数据到txt文件" Android存储字符串数据到txt文件是Android开发中的一种常见需求,对于大多数开发者来说,存储字符串数据到txt文件是一种非常有用的功能。今天,我们将详细介绍如何在Android中...
3、BASE64转字符串:与字符串转BASE64功能相反,软件可以将BASE64编码的字符串还原为原始字符串,方便用户查看和使用。 4、字符串转HEX:将字符串转换为HEX编码,可以用于加密、签名等场景。软件提供了一键转换功能...
本文将详细介绍整形和字符串之间的各种转换,包括整形到字符串、字符串到整形、字符串到字符数组、字符数组到字符串、不同的进制之间的转换等。 整形到字符串的转换 在Java中,我们可以使用String.valueOf()方法将...
在Android开发中,有时我们需要对字符串进行操作,例如替换特定字符。`replaceAll`函数就是Java(也是Android)中处理字符串替换的一个重要方法。这个方法来自`String`类,允许我们用新的字符串替换掉原字符串中匹配...
删除字符串中的字符1 题目删除一个字符串中的指定字母,如:字符串 “aca”,删除其中的 a 字母。2 分析本题是要处理字符串,在C语言中,我们把他转换为字符数组,则本质是要处理数组,在数组中删除某一元素的最简单...
Labview 字符串转ASCII字符串,比如:“123”->"313233",“abc”->"616263