黑马程序员技术交流社区
标题:
请教高手解决字符串转换问题
[打印本页]
作者:
李计伟
时间:
2012-10-30 23:12
标题:
请教高手解决字符串转换问题
本帖最后由 李计伟 于 2012-10-31 21:24 编辑
问题:输入一个数字组成的数组,输出该数组的最大值。
怎么把字符串数组转成整型数组,我是用String类的
split( )方法切割字符串成字符串数组然后用Integer.parseInt()把字符串数组里的每个元素转成整型。有没有更简单的方法?请教更简单的方法。
这是我的代码
import java.util.Scanner;
public class Test5 {
//求出最大值
public static String getMax(String[] arr) {
String max = arr[0];
for(int i = 1;i < arr.length;i++) {
if(Integer.parseInt(arr
) > Integer.parseInt(max) ) {
max = arr
;
}
}
return max;
}
//实现输出数组
public static void printArray(String[] arr) {
/...省略
}
public static void main(String[] args) {
System.out.println("请输入几个整数以空格隔开");
Scanner i = new Scanner(System.in);
String y = i.nextLine();
//把字符串用空格分割成数组
String[] arr = y.split(" ");
printArray(arr);
System.out.print("最大值为"+Test5.getMax(arr)}
}
作者:
杨千里
时间:
2012-10-30 23:26
LZ能把字体 调一下么 看着 很别扭
作者:
HeiMa-黄倲江
时间:
2012-10-31 17:18
你的意思是不是 要把字符串里面的数字转成Int类型 拿出来阿.
例如 abc3ed. 把3给转成int 拿出来??
如果是这意思的话,
这个操作需要两步,第一步用正则表达式找出其中的数字,第二步再从String转到int。
String中有个方法replaceAll(String regex, String replacement) ,具体到你现在的需要就是用空(“”)将字符串中的非数字的表达式全部替换掉,这样就留下了数字串,然后用int的包装类的方法转换
public class Test_01 {
public static void toInt (String args) {
int length = args.length();
byte b;
for (int i = 0; i < length; i++) {
b = (byte)(args.charAt(i) - '0');
if (b < 10)
System.out.println(b);
}
}
public static void main(String[] args) {
toInt("abd3av");
}
}
输出:3
作者:
李计伟
时间:
2012-10-31 20:45
我的意思是输入几个数字然后求出最大数 看来没别的更简单方法只能先把这几个数字转成字符串数组然后用Integer.parseInt()转成int型数组再比较大小求出来
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2