用任意语言写个冒泡排序,要求如下:10个整数,非整数一律报错并要求从新输入

如题所述

public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

System.out.println("请输入:数字以',' 隔开");

String str = sc.next();
String [] array1 = str.split(",");
for (int i = 0; i < array1.length; i++) {

int a1 = Integer.parseInt(array1[i]);

int max = a1,index =i;;
for (int j = i+1; j < array1.length; j++) {
int a2 = Integer.parseInt(array1[j]);
if (a2>max) {
max=a2;index=j;
}
}
array1[i]=max+"";
array1[index]=a1+"";

}
System.out.println("排序后:");
for (int i = 0; i < array1.length; i++) {
System.out.print(array1[i]+"");
}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-04
可能是我学的不精吧,我觉得这题目有问题,冒泡排序是要用到数组的,那么数组只能定义成int和float,如果你定义成int,那么你输入1.1系统会自己强制转换成int,也就是1,那么这题就不存在判断是否为整数了。。。。。追问

这是关于软件测试方面的,就是我定义的是整形,但我要用其它类型测试,比如我输入 3.2或www后,这个程序会显示“你输入的不是整数,请重新输入第i个数”

追答

不好意思,我帮不了你,对不起啊,我大一,才刚学,这个可能比较深入,我还没学到

相似回答
大家正在搜