我认为我的程序应该运行,我只是在讨论如何调用这些方法以便它可以工作。这是代码:
import java.util.*;
public class median {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// need to call methods
}
int[] arr;
int m;
public void selectionSort() {
Scanner input = new Scanner( System.in );
System.out.println("how many numbers in array: ");
m = input.nextInt();
System.out.println("enter"+m+" numbers: ");
int count=0;
while(count <m){
int num = input.nextInt();
arr[count]=num;
}
int i, j, minIndex, tmp;
int n = arr.length;
for (i = 0; i < n - 1; i++) {
minIndex = i;
for (j = i + 1; j < n; j++)
if (arr[j] < arr[minIndex])
minIndex = j;
if (minIndex != i) {
tmp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = tmp;
}
}
}
public void median(){
if (m%2==0){
double median = (arr[m/2]+arr[(m/2)+1])/2;
System.out.println("the median is "+median);
}
else {
System.out.println("the median is "+arr[(m/2)+1] );
}
}
}
答案 0 :(得分:3)
您需要将static
修饰符添加到方法和字段中。如果您不明白原因,我建议您阅读Learning the Java Language教程。
答案 1 :(得分:3)
首先:从该类创建一个对象。 第二次:调用方法。
像这样:
public static void main(String[] args) {
// TODO Auto-generated method stub
// need to call methods
//creating object
Median m = new Median();
//calling methods from the object
m.selectionSort();
m.median();
}
更新:除非您想在其中添加一些自定义代码,否则您不需要创建构造函数。
PS :班级名称:的第一个字母总是以大写字母 =最佳做法。
答案 2 :(得分:1)
public static void main(String[] args){
median m1 = new median();
m1.selectionSort();
m1.median();
}
答案 3 :(得分:1)
创建自己的实例,并调用方法:
public static void main(String[] args) {
median me = new median();
me.selectionSort();
}
顺便说一下,您应该考虑将median
重命名为Median
以符合Java类命名约定。