Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java无合适的方法错误:对三个数字进行排序_Java_Java.util.scanner - Fatal编程技术网

Java无合适的方法错误:对三个数字进行排序

Java无合适的方法错误:对三个数字进行排序,java,java.util.scanner,Java,Java.util.scanner,我被要求编写一个测试程序,使用一种方法提示用户输入三个数字,并调用一种方法以递增顺序显示它们。随着书的使用,以自动学习和学习java,我还没有达到使用数组或其他方法,用户可能认为适合这个问题。然而,我不断得到的临时变量可能并没有被初始化和使用的错误。如果您能告诉我代码的错误,我将不胜感激 import java.util.Scanner; public class Sort { public static void main(String[] args) { //crea

我被要求编写一个测试程序,使用一种方法提示用户输入三个数字,并调用一种方法以递增顺序显示它们。随着书的使用,以自动学习和学习java,我还没有达到使用数组或其他方法,用户可能认为适合这个问题。然而,我不断得到的临时变量可能并没有被初始化和使用的错误。如果您能告诉我代码的错误,我将不胜感激

import java.util.Scanner;
public class Sort {
    public static void main(String[] args) {
        //create  Scanner
        Scanner s =new Scanner(System.in);
        System.out.print("Enter 3 Different numbers");
        int numb1 = s.nextInt();
        int numb2 =s.nextInt();
        int numb3 =s.nextInt();
        sort(numb1,numb2,numb3);
    }
    public  static void  sort(int x,int y, int z){
        int temp =0;
        if (y>z)
            temp =  y;
        y   = z;
        z    = temp;  
        if (x>y)
            temp  =  x;
        x    =  y;
        y    =  temp;
        if  (x>z)
            temp = x;
        x=   z ;
        z= temp;    

    System.out.println(x,y,z);
  }
}

使用
int temp=0在代码中:

public static void sort(int x, int y, int z) {
    int temp = 0;
    //the smallest in x
    if (x > y) {
        temp = x;
        x = y;
        y = temp;
    }
    if (x > z) {
        temp = x;
        x = z;
        z = temp;
    }

    //the second smallest in y
    if (y > z) {
        temp = y;
        y = z;
        z = temp;
    }

    System.out.println(x + " " + y + " " + z);
}

这种只使用变量的算法类似于冒泡排序算法

just do:int temp=0;如果
y
不大于
z
,那么
z
应该通过
temp
哪个值?既然
temp
没有值,应该怎么办?顺便说一句:你的代码看起来很像你真的想用大括号来表示你的
if
blocks.System.out.println(x,y,z);方法内sort@Tom. 我现在没有得到合适的错误。@JoseRicardoBustosM。将其放在方法排序中不会给出合适的方法错误