题目是:以public static void displaySortedNumbers(double num1,double num2,double num3)作为方法头,编写程序,提示用户输入三个数,然后按升序来显示出来。
新手,懂得不多,请大家指点时照顾一下,不要说太复杂或是我没学到的知识。麻烦大家了。下面是我的,代码。我的问题集中在,主方法里的调用问题。调用的方法参数里我试过输入什么数字都不影响程序的结果,但是总感觉这个程序是有问题的。劳烦各路高手了。
import java.util.Scanner;
public class A6_5 {
public static void displaySortedNumbers(double num1,double num2,double num3){
Scanner in = new Scanner(System.in);
System.out.println("请输入第一个数");
num1=in.nextDouble();
System.out.println("请输入第二个数");
num2=in.nextDouble();
System.out.println("请输入第三个数");
num3=in.nextDouble();
double k=0;
if(num1<num2){
k=num1;
num1=num2;
num2=k;
}
if(num1<num3){
k=num1;
num1=num3;
num3=k;
}
if(num2<num3){
k=num2;
num2=num3;
num3=k;
}
System.out.println(num1+"\t"+num2+"\t"+num3);
}
public static void main(String[] args){
A6_5 a= new A6_5();
displaySortedNumbers(0,0,0);//这里的带参数方法调用该怎么处理?
}
}
import java.util.Scanner;
public class Test {
public static void displaySortedNumbers(double num1,double num2,double num3){
double k=0;
if(num1<num2){
k=num1;
num1=num2;
num2=k;
}
if(num1<num3){
k=num1;
num1=num3;
num3=k;
}
if(num2<num3){
k=num2;
num2=num3;
num3=k;
}
System.out.println(num1+"\t"+num2+"\t"+num3);
}
public static void main(String[] args){
Test a= new Test();
double num1, num2, num3;
Scanner in = new Scanner(System.in);
System.out.println("请输入第一个数");
num1=in.nextDouble();
System.out.println("请输入第二个数");
num2=in.nextDouble();
System.out.println("请输入第三个数");
num3=in.nextDouble();
a.displaySortedNumbers(num1,num2,num3);//这里的带参数方法调用该怎么处理?
}
}
而且lz你的程序时降序排序的
你理解错题目的意思了,应该在主程序中得到输入的3个数字,并且传给displaySortedNumbers
Scanner in = new Scanner(System.in);
System.out.println("请输入第一个数");
num1=in.nextDouble();
System.out.println("请输入第二个数");
num2=in.nextDouble();
System.out.println("请输入第三个数");
num3=in.nextDouble();
这些放在主程序
displaySortedNumbers(0,0,0);
->
displaySortedNumbers(num1,num2,num3);
你把程序运行以后,在控制台输入3个数字,就是这么处理的!!!