Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class es8 {
- public static void main(String[] args) {
- int s;
- Scanner keyboard = new Scanner(System.in);
- System.out.print("Inserisci l'array di interi: ");
- String[] buffer = keyboard.nextLine().split(" "); // array di stringhe
- int[] ar = new int[buffer.length]; // array di interi
- System.out.print("Inserisci la key");
- s = keyboard.nextInt();
- keyboard.close();
- for (int i = 0; i < buffer.length; i++) { // converto string[] in int[]
- ar[i] = Integer.parseInt(buffer[i]);
- }
- int[] ciao = new int[2];
- ciao = calc(ar,s);
- for(int c : ciao) {
- System.out.print(c + " ");
- }
- }
- /*
- private static String search(int[] ar, int s, int i, int j) {
- if (i == ar.length - 2 && j == ar.length - 1) {
- return (ar[i] + ar[j] == s ? i + " " + j : null);
- } else if (i != ar.length - 2 && j == ar.length - 1) {
- return search(ar, s, i + 1, i + 2);
- } else {
- if (sumOfIJ(ar, i, j) > s) {
- return search(ar, s, i + 1, i + 2);
- } else if (sumOfIJ(ar, i, j) == s) {
- return i + " " + j;
- } else
- return search(ar, s, i, j + 1);
- }
- }
- */
- /**
- * works, tested
- *
- * @param ar
- * @param i
- * @param j
- * @return sum of elements in array of int ar
- */
- private static int sumOfIJ(int[] ar, int i, int j) {
- int sum = 0;
- while (i <= j) {
- sum = sum + ar[i];
- i++;
- }
- return sum;
- }
- private static int[] calc(int[] inputa, int keys) {
- int sum = 0, j = 0;
- for(int i = 0 ; i < inputa.length-1; i++) {
- j = i;
- sum = 0;
- if(inputa[i] != 0) {
- while(j < inputa.length-i) {
- sum += inputa[j];
- if(sum == keys) {
- return new int[] {i, j};
- }
- j++;
- }
- }
- }
- return new int[] {-1,-1};
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement