/*
* 任意输入10个整数,并按从小到大的顺序输出。
* */
//引用包
import java.util.InputMismatchException;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
//定义一个一维数组来存放输入的整数
int[] numbers = new int[10];
//从键盘接收输入的数值,并赋值给所定义的数组
for (int i = 1; i <= 10; i++) {
try {
System.out
.println("Please input an integer(total 10 numbers): ");
Scanner scanner = new Scanner(System.in);
numbers[i - 1] = scanner.nextInt();
} catch (InputMismatchException exp) {
i--;
}
}
//采用冒泡排序算法,由小到大对 数组进行排列
for (int i = numbers.length - 1; i >= 0; i--) {
for (int j = 0; j < i; j++) {
if (numbers[j] > numbers[j + 1]) {
int temp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = temp;
}
}
}
//按次序输出数组
for (int item : numbers) {
System.out.print(item + " ");
}
}
}
parseInt方法接收的是String参数,而c变量是一个BufferedReader对象。并且 我觉得你没有真正理解,输入应该是用BufferedReader的方法。按照你的想法我帮你改了
x=Integer.parseInt(c);//提示这一句有错!
b[i]=x;
改成:
x = Integer.parseInt(c.readLine());
b[i] = x;
BufferedReader不能直接作为Integer.parseInt方法的参数,因为parseInt的参数必须是字符串。
可以将这句话改为x=Integer.parseInt(c.readLine()); 这样先将BufferReader对象转为字符串,可以通过编译。
Integer.parseInt()需要srting对象作参数,而c是BufferedReader的对象
Parseint方法参数是字符串,而不能是reader.一般接受键盘输入使用scanner类