首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

在控制台命令行参数输入n个字符,先将他们转换成int,然后把他们按从小到大排列输出。写了个小程序,有点有关问题。一二

2012-03-24 
在控制台命令行参数输入n个字符,先将他们转换成int,然后把他们按从小到大排列输出。写了个小程序,有点问题。

在控制台命令行参数输入n个字符,先将他们转换成int,然后把他们按从小到大排列输出。写了个小程序,有点问题。高手指点一二!

Java code
public 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]);
}
}
}

热点排行