Java无合适的方法错误:对三个数字进行排序
我被要求编写一个测试程序,使用一种方法提示用户输入三个数字,并调用一种方法以递增顺序显示它们。随着书的使用,以自动学习和学习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
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因为你的条件不是穷尽的,也就是说你不考虑所有的情况。如果x在代码中:
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。将其放在方法排序中不会给出合适的方法错误