日期:2014-05-20  浏览次数:21005 次

初涉java,能帮我订正下我这一题做错的地方么,谢谢啦
(数组的使用)定义一个长度为10的int型数组,要求这10个数可以由用户键盘自由输入,然后程序能够按“从小到大”的顺序输出这10个数。
import   java.io.*;
public   class   szpl{
public   static   void   main(String[]   args){
int   sz[]=new   int[10];
for   (int   k=0;k <10;k++)
System.out.println( "请输入10个数字:   ");
try{
BufferedReader   br=new   BufferedReader(new   InputStreamReader(System.in));
String   s=br.readLine();
sz[k]=Integer.parseInt(s);
}catch(IOException   e){}
System.out.println( "排序结果(从小到大):   ");
}
}

------解决方案--------------------


import java.io.*;
import java.util.*;

public class Test71 {
public static void main(String[] args) {
int sz[] = new int[10];

System.out.println( "请输入10个数字: ");
try {
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
for (int k = 0; k < 10; k++) {
String s = br.readLine();
sz[k] = Integer.parseInt(s);
}
} catch (IOException e) {
}
Arrays.sort(sz);
System.out.println( "排序结果(从小到大): ");
for (int k : sz)
System.out.print(k + " ");
}
}
------解决方案--------------------
import java.io.*;
public class szpl{
public static void main(String[] args){
int sz[]=new int[10];
BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); //这个移到这里,没必要放到循环里
for (int k=0;k <10;k++) { //这里要有花括号
System.out.println( "请输入10个数字,第 "+(k+1)+ "个: ");
try{
String s=br.readLine();
sz[k]=Integer.parseInt(s);
}catch(IOException e){}
} //for的花括号对应

Arrays.sort(sz);
System.out.println( "排序结果(从小到大): " + Arrays.toString(sz)); //或者自己写个循环打印出来
}
}

仅在LZ的基础上修改,如果输入非法数字,应该做一些相应的处理,LZ可以自己思考一下


------解决方案--------------------
import java.util.Scanner;
import java.util.Arrays;
public class szpl {

public static void main(String[] args) {
int sz[] = new int[10];

//循环输入
Scanner sc = new Scanner(System.in);
for(int i=0; i <10;i++) {
sz[i] = sc.nextInt();
}

Arrays.sort(sz); //升序排列

//结果
for(int i=0; i <10;i++) {
System.out.println(sz[i]);
}
}

}