Char给出了。给出了数组。如果char是'A',则打印最大值。如果是“B”打印分钟。否则打印max和min元素的平均值

时间:2016-07-07 09:00:10

标签: java

import static java.lang.Math.*;

public class MaxMin {
    public static void main(String[] args) {
        int[] a = {-4, -3, 11, 3, 4, 4, -4, 6, -1, 9, -10, 11};
        char min = 'A';
        char max = 'B';

        for (int i = 0; i < a.length; i++) {
            A = min(min, a[i]);
            B = max(max, a[i]);
        }

        System.out.println(min);
        System.out.println(max);
    }
}

2 个答案:

答案 0 :(得分:0)

您可能希望将代码重新排列为:

import static java.lang.Math.*;

public class MaxMin {
  public static void main(String[] args) {
    int[] a = {-4, -3, 11, 3, 4, 4, -4, 6, -1, 9, -10, 11};
    int min = a[0];
    int max = a[0];

    for (int i = 0; i < a.length; i++) {
      min = min(min, a[i]);
      max = max(max, a[i]);
    }

    System.out.println(min);
    System.out.println(max);
  }
}

如果给出了一个字符,您可以将其添加到您的代码中:

int given_char = 'A'; // Add anything you like, A or B

switch(given_char){
  case 'A':
           System.out.println(max);
           break;
  case 'B':
           System.out.println(min);
           break;
  default:
           System.out.println( (min + max) / 2 );
}

答案 1 :(得分:0)

你的问题和代码非常不清楚,所以这是纯粹的推测。

听起来好像你有一个数组和一个char,你需要计算min,max或mean(最大和最小)值。你的代码并没有真正解释如何给出char,所以我只假设你从某个地方获取char值。下面的代码应该指向正确的方向。

public static void main(String[] args) {
    int[] a = {-4, -3, 11, 3, 4, 4, -4, 6, -1, 9, -10, 11};
    char c = 'A'; // This could be either 'A', 'B' or something else.       

    int min = 0;
    int max = 0;

    for (int i = 0; i < a.length; i++) {
        min = Math.min(min, a[i]);
        max = Math.max(max, a[i]);
    }

    if( c == 'B' )
        System.out.println(min);
    else if( c == 'A' )
        System.out.println(max);
    else
        System.out.println( (max+min) / 2.0f ); 
}