English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Finden Sie eine aufeinanderfolgende Teilergebnisgruppe, deren Summe der angegebenen Zahl entspricht-
Durchsuchen Sie das Array.
Fügen Sie an jedem Element n Elemente hintereinander hinzu, bis die Summe dem erforderlichen Wert entspricht, und drucken Sie das Teilergebnis aus.
import java.util.Arrays; import java.util.Scanner; public class sub_arrays { public static void main(String args[]){ //Lesen des Arrays vom Benutzer Scanner sc = new Scanner(System.in); System.out.println("Geben Sie die Größe des zu erstellenden Arrays ein:"); int size = sc.nextInt(); int[] myArray = new int[size]; System.out.println("Geben Sie die Elemente des Arrays ein:"); for(int i=0; i<size; i++{ myArray[i] = sc.nextInt(); } //Lesen der Zahl System.out.println("Geben Sie die erforderliche Summe ein:"); int reqSum = sc.nextInt(); System.out.println("Das erstellte Array ist:");+Arrays.toString(myArray); System.out.println("sub-Arrays, deren Summe:");+reqSum); for(int i=0; i<myArray.length; i++{ int sum = 0; for(int j=i; j<myArray.length; j++{ sum = sum + myArray[j]; if(sum == reqSum){ System.out.println(Arrays.toString(Arrays.copyOfRange(myArray, i, j));+1); } } } } }
Ausgaberesultat
Geben Sie die Größe des zu erstellenden Arrays ein: 10 Geben Sie die Elemente des Arrays ein: 5 4 1 2 3 4 1 4 5 5 Geben Sie die erforderliche Summe ein: 10 Das erstellte Array ist: [5, 4, 1, 2, 3, 4, 1, 4, 5, 5] sub-Arrays, deren Summe: 10 [5, 4, 1] [4, 1, 2, 3] [1, 2, 3, 4] [2, 3, 4, 1] [1, 4, 5] [5, 5]