跪求啊,我块哭了import java.util.Scanner;class Paixu
{
public static int xu (int x[])
{int i,j,temp;
//int x[]={a,b,c};
for(i=0;i<3;i++) //循环3次;
{
for(j=0;j<3-i;j++) //每次对比3-i次;
if (x[j]>x[j+1])
{
temp=x[j];
x[j]=x[j+1];
x[j+1]=temp;
}
}
//System.out.println(m[0]+m[1]+m[2]);
return x[i];
}}
class Daxiao{
public static void main(String[] args)
{ Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int [] m={a,b,c};
int p[]=Paixu.xu(m);
System.out.println(p[0]+p[1]+p[2]);
//Paixu.paixu(a,b,c);
}
}
----------------------------------------------------------------
F:\java\325>javac Daxiao.java
Daxiao.java:30: 不兼容的类型
找到: int
需要: int[]
int p[]=Paixu.xu(m); ^
{
public static int xu (int x[])
{int i,j,temp;
//int x[]={a,b,c};
for(i=0;i<3;i++) //循环3次;
{
for(j=0;j<3-i;j++) //每次对比3-i次;
if (x[j]>x[j+1])
{
temp=x[j];
x[j]=x[j+1];
x[j+1]=temp;
}
}
//System.out.println(m[0]+m[1]+m[2]);
return x[i];
}}
class Daxiao{
public static void main(String[] args)
{ Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int [] m={a,b,c};
int p[]=Paixu.xu(m);
System.out.println(p[0]+p[1]+p[2]);
//Paixu.paixu(a,b,c);
}
}
----------------------------------------------------------------
F:\java\325>javac Daxiao.java
Daxiao.java:30: 不兼容的类型
找到: int
需要: int[]
int p[]=Paixu.xu(m); ^
改为
public static int[] xu (int x[])
return x[i];
改为:
return x;
class Paixu {
public static void xu(int x[]) {
int i, j, temp;
// int x[]={a,b,c};
for (i = 0; i < 3; i++) // 循环3次;
{
for (j = 0; j < 3 - i; j++)
// 每次对比3-i次;
if (x[j] > x[j + 1]) {
temp = x[j];
x[j] = x[j + 1];
x[j + 1] = temp;
}
}
// System.out.println(m[0]+m[1]+m[2]);
}}class Daxiao {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int[] m = { a, b, c };
Paixu.xu(m);
System.out.println(m[0] + m[1] + m[2]);
//Paixu.paixu(a,b,c); }
}
我是那么运行的,为什么可以编译了,但是不出结果呢
---------------------我编译通过了,但是不能运行是怎么回事?
import java.util.Scanner;class Paixu { public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int[] m = { a, b, c };
Paixu.xu(m);
System.out.println(m[0] + "," + m[1] + "," + m[2]);
// Paixu.paixu(a,b,c);
} public static void xu(int x[]) {
int i, j, temp;
// int x[]={a,b,c};
for (i = 0; i < 3; i++) // 循环3次;
{
for (j = 0; j < 2 - i; j++)
// 每次对比3-i次;
if (x[j] > x[j + 1]) {
temp = x[j];
x[j] = x[j + 1];
x[j + 1] = temp;
}
}
// System.out.println(m[0]+m[1]+m[2]);
}
}
java Paixu 4 500 20文件名一定要和含有main()方法的那个类名一致,
包括大小写
在你的程序中,排序方法返回的是一个int类型的数,而在main主方法中,lz把返回的数赋值给int[]的数组,所以编译无法通过。
import java.util.Scanner;class Paixu{
public static void xu (int[] x){
int i,j,temp;
for(i=0;i<x.length-1;i++) //循环x.length-1次
{
for(j=0;j<x.length-1-i;j++) //每次对比x.length-1-i次;
if (x[j]>x[j+1])
{
temp=x[j];
x[j]=x[j+1];
x[j+1]=temp;
}
}
}
}
public class Daxiao{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int[] m={a,b,c};
Paixu.xu(m);
int[] p=m; //这个步骤可以省略,直接用m[0], m[1], m[2]
System.out.println(m[0]+" " + m[1]+" "+ m[2]);
System.out.println(p[0]+" "+p[1]+" "+p[2]);//排序后的
System.out.println(p[0]+p[1]+p[2]);//和
//Paixu.paixu(a,b,c);
}
}
返回值是int型 ,而你用的是int[] 接受返回值
public static int xu (int x[])
int p[]=Paixu.xu(m);
这两个当然是不一样的啦。一个是int 一个是Object啊。
因为xu函数返回值是int型
public static int xu (int x[])
改成返回值是int[]数组就行了
public static int[] xu (int x[])
其他还有那个j+1会出现数组下标越界的问题。