2016-07-07 4 views
-3
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); 
    } 
} 
+0

Bitte stellen Sie eine tatsächliche Frage - Ihr Titel ist sehr lang, aber es gibt keinen Text im Körper der Frage. Im Idealfall sollten Sie Ihre Titellänge auf eine Zusammenfassung reduzieren und auf jeden Fall weitere Details darüber angeben, was Sie erreichen möchten und was Ihr Code * derzeit * in der Frage bewirkt. Beachten Sie, dass Ihr Titel über "char" spricht, Ihr Array jedoch aus * integers * besteht. –

+0

Die Variablen A und B sind nicht definiert, und die Frage ist nicht klar. Bitte seien Sie klar und wir werden versuchen, Ihnen zu helfen :) – L01c

Antwort

0

Sie wahrscheinlich Ihren Code neu anordnen wollen als:

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); 
    } 
} 

Und falls ein Zeichen gegeben, können Sie diese zu Ihrem Code hinzu:

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); 
} 
0

Ihre Frage und Code ist sehr unklar, so dass dies reine Spekulation ist.

Es klingt, als ob Sie ein Array und ein Char haben, und daraus müssen Sie entweder den Min-, Max- oder den Mittelwert (von Max und Min) berechnen. Dein Code erklärt nicht wirklich, wie das Zeichen angegeben wird, also nehme ich an, dass du irgendwo einen Zeichenwert nimmst. Der folgende Code sollte Sie in die richtige Richtung weisen.

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); 
} 
Verwandte Themen