How can I pair my user's input number in an array whose sum is equal to specified input number?

Joshua Lagos :

Here's my hard work code so far, we were asked to do it with GUI. Please help me on what approach should I do next to pair my user's input number in an array whose sum is equal to specified input number?

package josh;


import javax.swing.JOptionPane;

public class Sample {


    public static void main (String args[]) {

        int colInput,rowInput;


        String user_col = JOptionPane.showInputDialog("Enter Column Of Array:");
        colInput =  Integer.parseInt(user_col);


        String user_row = JOptionPane.showInputDialog("Enter Row Of Array:");
        rowInput = Integer.parseInt(user_row);



        int user_value;


        for (int i = 0; i < colInput; i++) {
            for (int j= 0; j < rowInput; j++) {

            String values = JOptionPane.showInputDialog(null, "Enter Value "+(i+1));
             user_value = Integer.parseInt(values);

            final Integer [] value_arr = new Integer [user_value];




                }

            }


        }
}

Here's the sample input and output

Here's the sample input and output

Trishul Singh Choudhary :

I would give you the basic logic that you can use.

// value_arr[] is the array where you have all the elements.
// sum is the number to be paired

Arrays.sort(value_arr);
int i=0,j=value_arr.length-1;

// now value_arr is sorted. we'll use two pointers i & j to move.. i moves in from left side towards centre and j moves from right side towards centre

while(i<j){
     if(value_arr[i]+value_arr[j]>sum){
         j--;
     }
     else if(value_arr[i]+value_arr[j]<sum){
         i++;
     }
     else if(value_arr[i]+value_arr[j]==sum){
         System.out.println(value_arr[i]+"+"+value_arr[j]+"="+sum);
     }
}

Let me know if it helps

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=27159&siteId=1