//修改后的程序对输入格式有要求,在注释中已说明
import java.io.*;
public class test1 {
int a[] = new int[5];
int i, j, temp;
void accept() {
try {
BufferedReader inObj = new BufferedReader(new InputStreamReader(
System.in));
System.out.println("请输入五个整数:");
String s = inObj.readLine();//5 个数在一行中输入,数与数之间用空格分隔。
//readLine()将一整行作为一个String读入
String ss[] = s.split(" ");//将读入的String以“空格”分割为多个String
//分割后每个String对应输入的一个数
for (i = 0; i < 5; i++) {
a[i] = Integer.parseInt(ss[i]);
System.out.print(a[i] + " ");
}
inObj.close();
}
catch (Exception e) {
System.out.println("error1");
System.out.println(e);
}
}
void order() {
for (i = 0; i < 4; i++)
for (j = 0; j < 4 - i; j++)
if (a[j] < a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
for(i = 0; i < 5; i++)
{
System.out.println("这五个数的从大到小为:" + a[i]);
}
}
public static void main(String[] args) {
test1 test1Obj = new test1();
test1Obj.accept();
test1Obj.order();
}
}
把输出语句放到另外一个循环里面
你还没有完全排序完 你就输出了
我的意思是
for(i=0;i<4;i++)
{
for(j=0;j<4-i;j++){
if(a[j] {
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(int i=0;i<5;i++){
System.out.println("这五个数的从大到小为:"+a[i]);
}
import java.io.*;
public class test1 {
int a[] = new int[5];
int i, j, temp;
void accept() {
try {
BufferedReader inObj = new BufferedReader(new InputStreamReader(
System.in));
System.out.println("请输入五个整数:");
String s = inObj.readLine();//5 个数在一行中输入,数与数之间用空格分隔。
//readLine()将一整行作为一个String读入
String ss[] = s.split(" ");//将读入的String以“空格”分割为多个String
//分割后每个String对应输入的一个数
for (i = 0; i < 5; i++) {
a[i] = Integer.parseInt(ss[i]);
System.out.print(a[i] + " ");
}
inObj.close();
}
catch (Exception e) {
System.out.println("error1");
System.out.println(e);
}
}
void order() {
for (i = 0; i < 4; i++)
for (j = 0; j < 4 - i; j++)
if (a[j] < a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
for(i = 0; i < 5; i++)
{
System.out.println("这五个数的从大到小为:" + a[i]);
}
}
public static void main(String[] args) {
test1 test1Obj = new test1();
test1Obj.accept();
test1Obj.order();
}
}
import java.io.*;
public class test1
{
int a[]=new int[5];
int i,j,temp;
void accept()
{
try
{
BufferedReader inObj=new BufferedReader
(new InputStreamReader(System.in));
System.out.println("请输入五个整数:");
for(i=0;i<5;i++)
{
a[i]=Integer.parseInt(inObj.readLine());
}
inObj.close();
}
catch(Exception e)
{
System.out.println(e);
}
}
void order()
{
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(a[j] {
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
for(i=0;i<5;i++){
System.out.println("这五个数的从大到小为:"+a[i]);}
}
public static void main(String[] args)
{
test1 test1Obj=new test1();
test1Obj.accept();
test1Obj.order();
}
}
双重FOR循环的第一个循环少一对括号,所以只导致你的输出只有一句.