Java程序打印出三个用户输入数字的最大值,最小值和平均值

时间:2014-10-08 02:16:01

标签: java

我是在正确的轨道上吗?

import java.util.*;

public class Practice_8_1 {
   public static void main (String[] args) {
    Scanner input = new Scanner(System.in);
  Scanner keyboard = new Scanner(System.in);

  public static int max (int x, int y, int z){
  int maximum = 0;
  if (x > y && x > z){
     return x;
     } else if (y > z && y > x){
        return y;
       else {
        return z;
  }

  public static int min (int x, int y, int z){
  //code for min
  }  
  public static int average (int x, int y, int z){
  //code for average 
   } 
  }
}

主要方法到底是什么?我必须使用方法来做到这一点。 提前谢谢。

3 个答案:

答案 0 :(得分:1)

public static int min (int x, int y, int z) {
  int Min =  (y>x)?x:y;
  Min = (z>Min)?Min:z;
  return Min;
} 

public static int max (int x, int y, int z) {
  int Max =  (y>x)?y:x;
  Max = (z>Max)?z:Max;
  return Max;
} 

public static int average (int x, int y, int z) {
  return (x+y+z)/3;
} 

答案 1 :(得分:0)

不要在另一个方法中写出方法的定义;相反,你会从main内部调用这些方法。 (并且您在maximum中声明max,但从不使用它。)

答案 2 :(得分:0)

您可以使用数组在其中放入数字,然后使用Arrays.sort(array)从最低到最高对此数组的成员进行排序。这意味着在第一个索引上将是最低的数字。 它可能比这三种方法更容易。

import java.util.*;

public class SortNumbers {

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    int[]numbers = new int[3];

    for(int i = 0; i < 3; i++) {

        System.out.println("Type a number:");
        numbers[i] = Integer.parseInt(input.nextLine());
    }
    // this sorts the array members from lowest to highest
    Arrays.sort(numbers);

    System.out.println("Lowest number is " + numbers[0]);
    System.out.println("Middle number is " + numbers[1]);
    System.out.println("Highest number is " + numbers[2]);
}   
}

如果必须使用方法,则可以使用静态方法对该数组进行排序。

public static int[] sortNumbers(int[] numbers) {

    Arrays.sort(numbers);
    return numbers;
}

并在主方法中改为使用Arrays.sort(numbers)使用

numbers = sortNumbers(numbers);