现在有字符串,如下:5,3,8,2,9,4 请按照升序和降序打印,情问怎么把这个字符串转换成一个int 型的数组啊?

wzdoxu 2008-10-31 03:40:46
先定义一个字符串,然后把分隔符去掉后的字符串,怎么样才能转换成一个int型的数组呢?
public class SortTest {
public static void main(String[] args){
String str = "5,3,8,2,9,4";
String[] ss = str.split(",");
for(int i=0;i<ss.length;i++){
System.out.println(ss[i]);

}

}
}
然后怎么把字符串数组ss ,转换成int型或long型的数组呢,只有这样才能排序了
谢谢!
...全文
338 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuaiAWP 2008-11-01
  • 打赏
  • 举报
回复

import java.util.*;
public class SortTest {
public static void main(String[] args){
String str = "5,3,8,2,9,4";
String[] ss = str.split(",");
int[] arr = new int[ss.length];
for (int i = 0;i < ss.length;i++) {
arr[i] = Integer.parseInt(ss[i]);
}
Arrays.sort(arr);
for(int j = 0;j < arr.length;j++) {
System.out.print(""+arr[j]+" ");
}
System.out.println();
for (int k = arr.length-1;k >= 0;k--) {
System.out.print("" + arr[k]+" ");
}


}

}



oyto12o 2008-11-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 justinavril 的回复:]
不用转换成int的 直接搞就可以了

Java codeimport java.util.*;

public class Sort{
public static void main(String args[]){
String str = "5,6,2,3,1,8,7";

String[] strArray = str.split(",");

Arrays.sort(strArray);

System.out.print("升序排列:");
for(int i=0; i<strArray.length; i++)
System.out.print(strArray[i] +" ");

System.out.print("\n降序排列:");
for(int i=strArray.length-1; i>=0; i--)
System.out.print(strArray[i] +" ");

[/Quote]
oyto12o 2008-11-01
  • 打赏
  • 举报
回复
String str = "5,3,8,2,9,4";
int[] Int;
String[] ss = str.split(",");
Int=new int[ss.length];
for(int i=0;i <ss.length;i++){
Int[i]=Integer.parseInt(ss[i]);
System.out.println(ss[i]);

}
tiyuzhongxin789 2008-11-01
  • 打赏
  • 举报
回复
String str = "5,3,8,2,9,4";
String[] ss = str.split(",");
Arrays.sort(ss);
for(int i=0; i<ss.length; i++){
System.out.println(ss[i]);
}
TinnaLiu520 2008-10-31
  • 打赏
  • 举报
回复
不错~
aspnetzhaoy 2008-10-31
  • 打赏
  • 举报
回复
4楼的最为精点
FAFA2008 2008-10-31
  • 打赏
  • 举报
回复
路上已经说的很清楚了,路过好了
jerry313 2008-10-31
  • 打赏
  • 举报
回复
学习了
mjjzg 2008-10-31
  • 打赏
  • 举报
回复
路过,学习一下
justinavril 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zhangzuohai 的回复:]
public class SortTest {
public static void main(String[] args){
String str = "5,3,8,2,9,4";
String[] ss = str.split(",");
int[] intArr = new int[ss.length];

for(int i=0;i <ss.length;i++){
intArr[i] = Integer.parseInt(ss[i]);
}
bubbleSort(intArr);

for(int i=0;i <intArr.length;i++){
System.out.println(intArr[i]);
}


[/Quote]
不用转换成int的 自己比较就可以了 String也是可以比较大小的
wzdoxu 2008-10-31
  • 打赏
  • 举报
回复
谢谢楼上,直接--就可以了
justinavril 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wzdoxu 的回复:]
谢谢楼上!
搞得这么简单,我还想用什么排序法来排排序了,看来真得好好学下
但是上面的sort 排序只能按从下到大排序
那如果从大到小呢?该如何处理啊
[/Quote]
那就倒序输出数组啊 看我10#的代码
zhangzuohai 2008-10-31
  • 打赏
  • 举报
回复
public class SortTest {
public static void main(String[] args){
String str = "5,3,8,2,9,4";
String[] ss = str.split(",");
int[] intArr = new int[ss.length];

for(int i=0;i <ss.length;i++){
intArr[i] = Integer.parseInt(ss[i]);
}
bubbleSort(intArr);

for(int i=0;i <intArr.length;i++){
System.out.println(intArr[i]);
}

}
//冒泡排序
public void bubbleSort(int[] arr){
int temp;
for (int i=0;i<arr.length-1;i++){
for (int j=i+1;j<arr.length;j++){
if (arr[i]>arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
}
justinavril 2008-10-31
  • 打赏
  • 举报
回复
我靠 我今天是怎么了 上面代码错了 用这个:
import java.util.*;

public class Sort{
public static void main(String args[]){
String str = "5,6,2,3,1,8,7";

String[] strArray = str.split(",");

Arrays.sort(strArray);

System.out.print("升序排列:");
for(int i=0; i<strArray.length; i++)
System.out.print(strArray[i] +" ");

System.out.print("\n降序排列:");
for(int i=strArray.length-1; i>=0; i--)
System.out.print(strArray[i] +" ");
}
}
wzdoxu 2008-10-31
  • 打赏
  • 举报
回复
谢谢楼上!
搞得这么简单,我还想用什么排序法来排排序了,看来真得好好学下
但是上面的sort 排序只能按从下到大排序
那如果从大到小呢?该如何处理啊
justinavril 2008-10-31
  • 打赏
  • 举报
回复
不用转换成int的 直接搞就可以了
import java.util.*;

public class Sort{
public static void main(String args[]){
String str = "5,6,2,3,1,8,7";

String[] strArray = str.split(",");

Arrays.sort(strArray);

System.out.print("升序排列:");
for(int i=0; i<strArray.length; i++)
System.out.print(strArray[i] +" ");

System.out.print("\n降序排列:");
for(int i=strArray.length-1; i<=0; i--)
System.out.print(strArray[i] +" ");
}
}
justinavril 2008-10-31
  • 打赏
  • 举报
回复
import java.util.*;

public class Sort{
public static void main(String args[]){
String str = "5,6,2,3,1,8,7";

String[] strArray = str.split(",");

Arrays.sort(strArray);

System.out.print("升序排列:");
for(int i=0; i<strArray.length; i++)
System.out.print(strArray[i] +" ");

System.out.print("\n降序排列:");
for(int i=strArray.length-1; i>=0; i--)
System.out.print(strArray[i] +" ");
}
}
lingxixiaopang 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wzdoxu 的回复:]
谢谢楼上!
for(int j=0;j <ss.length;j++){
int[] in =null;

in[j] = Integer.parseInt(ss[j]);
System.out.println(in[j]);
}

还情问下,先定义的数据要in 必须要赋给一个初值,如果赋为null的话,就报
java.lang.NullPointerException
请问该怎么处理啊?而且这个Int数组是在for循环内定义的,怎么才可以拿到for循环
外也可以使用这个数组,这样才可以排序了
[/Quote]


int t = {0} //放在for循环外面就好了,这是作用域的知识啊
for(int j=0;j <ss.length;j++){

in[j] = Integer.parseInt(ss[j]);
System.out.println(in[j]);
}


排序只要一句话为什么非要在外面呢
Arrays.sort(in); //就可以了
lingxixiaopang 2008-10-31
  • 打赏
  • 举报
回复
String str = "5,3,8,2,9,4"; 
String[] ss = str.split(",");
Arrays.sort(ss);
for(int i=0; i<ss.length; i++){
System.out.println(ss[i]);
}


这样就可以了, 不一定要转的。
wzdoxu 2008-10-31
  • 打赏
  • 举报
回复
谢谢楼上!
for(int j=0;j<ss.length;j++){
int[] in =null;

in[j] = Integer.parseInt(ss[j]);
System.out.println(in[j]);
}

还情问下,先定义的数据要in 必须要赋给一个初值,如果赋为null的话,就报
java.lang.NullPointerException
请问该怎么处理啊?而且这个Int数组是在for循环内定义的,怎么才可以拿到for循环
外也可以使用这个数组,这样才可以排序了
加载更多回复(3)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧