2016-04-19 5 views
-3
public static void main (String[] args) { 
    Scanner input = new Scanner(System.in); 
    int[] array = new int[5]; 
    System.out.print("Please enter five numbers. \na="); 
    array[0] = input.nextInt(); 
    System.out.print("\nb="); 
    array[1] = input.nextInt(); 
    System.out.print("\nc="); 
    array[2] = input.nextInt(); 
    System.out.print("\nd="); 
    array[3] = input.nextInt(); 
    System.out.print("\ne="); 
    array[4] = input.nextInt(); 
    boolean totalIsZero = false; 
    for (int i=0;i<array.length ;i++) { 
     for (int j=1;i>j ;j++) {  
      if ((array[i] + array[j])==0) { 
       System.out.println("The numbers " + array[i] + " and " + array[j] + " have a total sum equal to 0."); 
       totalIsZero = true; 
      } 
     } 
    } 
    if (!totalIsZero) { 
     System.out.print("None of the numbers have a total sum of 0 with each other. "); 
    } 
} 

Hier ist ein einfacher Code, den ich gerade geschrieben habe. Seine Aufgabe besteht darin, zu prüfen, ob die Summe zwischen zwei Zahlen in einem Array (bestehend aus fünf Zahlen) gleich Null ist.Für den Loop-Druck eine unerwartete Anzahl von Malen

Das Problem, das ich habe, ist, dass, wenn es zwei Paare von Zahlen gibt, beide gleich 0, am Ende des Programms gibt es eine Nachricht für nur eines der Paare, nicht für beide, wie ich erwartet hatte.

Wie kann ich das beheben, so kann der Benutzer lesen, dass es zwei Paare von Zahlen gleich 0 gibt?

+1

Formatieren Sie auch Ihren Code besser? – karina

+0

@karina Was ist das Problem mit der Codeformatierung genau? Das erste Mal hier einen Beitrag schreiben. – Borislava

+0

@Borislava Verwenden Sie keine Backticks für mehrzeilige Code-Snippets - wählen Sie das Snippet und drücken Sie Strg + K (Ihr Beitrag wurde gerade bearbeitet, um dies zu tun). – bcsb1001

Antwort

0

Nicht sicher, ob dies perfekt funktionieren wird, weil ich es nicht getestet habe und ich habe Java seit einiger Zeit nicht mehr benutzt, sondern einfach das Array auf die gleiche Weise wie in Ihrem Post erstellt, aber versuchen Sie es mit dem Rest tatsächliche Menge der Funktion.

// various input calls above^ to create array 
int count = 0; 
for(int i = 0; i < array.length; i++) 
{ 
    for(int j = i + 1; j < array.length; j++) 
    { 
     if(array[i] + array[j] == 0) 
     { 
      System.out.println("The numbers " + array[i] + " and " + 
           array[j] + 
           " have a sum equal to zero."); 
      count++; 
     } 
    } 
} 

if(count == 0) 
{ 
    System.out.println("No sum between any numbers is equal to 0"); 
} 
+0

Vielen Dank! – Borislava

+0

Ich schrieb es einfach in Python zum Testen (ich finde Python schneller zu testen) mit den gleichen Methoden, die ich Ihnen gerade gezeigt habe und es hat funktioniert. – Connor

+0

hat es funktioniert? wenn ja, bitte diese Frage als beantwortet markieren – Connor

Verwandte Themen