在控制台命令行参数输入n个字符,先将他们转换成int,然后把他们按从小到大排列输出。写了个小程序,有点问题。
在控制台命令行参数输入n个字符,先将他们转换成int,然后把他们按从小到大排列输出。写了个小程序,有点问题。高手指点一二!
Java codepublic class ArrayTest { public static void main(String args[]) { for(int i=0;i<args.length;i++) { System.out.print(args[i]+" "); int[] a = new int[args.length] ; a[i]= Integer.parseInt(args[i]); NumSort numsort = new NumSort(a[i]); } }}class NumSort { public void NumSort(int[] a) { for(int i=0;i<a.length;i++) { for(int j=i+1;j<a.length;j++) { int temp; temp = a[i]; a[i] = a[i+i]; a[i+1] = temp; System.out.print(a[i]+" "); } } }}
NumSort numsort =new NumSort(a[i]); 这句报错,说找不到符号。。
望高手帮忙修改,指出错误!谢谢!
[解决办法] public void NumSort(int[] a) 构造函数没有声明,把void去掉,另外NumSort numsort = new NumSort(a[i]);
改为NumSort numsort = new NumSort(a);因为参数是一个数组对象,而不是一个数
[解决办法]呵呵,你这个是大问题,你还小问题呢。整个就一个逻辑混乱啊,呵呵。
你先取得N个字符之后再转成数字,传入数组吧,你现在是每个字符有要新建一个数组,太浪费了。也没有达到需要的要求。
[解决办法]public void NumSort(int[] a) 你定义时是说传一个数组做参数
NumSort numsort = new NumSort(a[i]);调用的时候却是传了一个整数而已,参数不匹配,找不到对应的方法
[解决办法]问题好多,改了点基本的,自己看看排序算法也有问题。
import java.util.Arrays;
public class ArrayTest{
public static void main(String args[]) {
int[] a= new int[args.length];
for (int i = 0; i < args.length; i++) {
System.out.print(args[i] + " ");
a[i] = Integer.parseInt(args[i]);
}
Arrays.sort(a);
if(a!=null)
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}