java编程,功能是从键盘输入10个数,比较大小后再输出!不过有错,现求助,

2025-06-27 04:21:10
推荐回答(5个)
回答1:

/*
* 任意输入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 + " ");
}

}
}

回答2:

parseInt方法接收的是String参数,而c变量是一个BufferedReader对象。并且 我觉得你没有真正理解,输入应该是用BufferedReader的方法。按照你的想法我帮你改了
x=Integer.parseInt(c);//提示这一句有错!
b[i]=x;
改成:
x = Integer.parseInt(c.readLine());
b[i] = x;

回答3:

BufferedReader不能直接作为Integer.parseInt方法的参数,因为parseInt的参数必须是字符串。
可以将这句话改为x=Integer.parseInt(c.readLine()); 这样先将BufferReader对象转为字符串,可以通过编译。

回答4:

Integer.parseInt()需要srting对象作参数,而c是BufferedReader的对象

回答5:

Parseint方法参数是字符串,而不能是reader.一般接受键盘输入使用scanner类