luke003
luke003
采纳率30%
2015-12-02 14:55 阅读 1.5k
已采纳

java初学者求助。方法整不明白了。遇到这个瓶颈好久了,大家给指点指点。

题目是:以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);//这里的带参数方法调用该怎么处理?
}

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    u012505618 cxlovu 2015-12-02 15:10
     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你的程序时降序排序的

    点赞 1 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-12-02 15:03

    你理解错题目的意思了,应该在主程序中得到输入的3个数字,并且传给displaySortedNumbers

    点赞 2 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-12-02 15:04

    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);

    点赞 2 评论 复制链接分享
  • netoT netoT 2015-12-02 16:02

    你把程序运行以后,在控制台输入3个数字,就是这么处理的!!!

    点赞 评论 复制链接分享

相关推荐