Search code examples
javastringjoptionpanesubtraction

Subtracting strings


I was asked to create a JOptionPane program which takes as many numbers as the user wants (as a string) and sums them together. I thought about a pseudo like this:

  1. make int Total = 0
  2. receive input as string X
  3. loop: for (int i = 0; i<=X.length();i++)
    1. create another string S1 which takes the number from the beginning until the first space
    2. convert S1 into a number and add it to Total
    3. subtract S1 from X, and start the loop over
  4. show total

So, my problem is at subtracting the S1 from the X.

My code so far:

public static void main(String[] args) {
int total = 0;
    String x = JOptionPane.showInputDialog("enter nums please");
    for (int i = 0; i<=x.length();i++){
        String s1 = x.substring (0, x.indexOf(' '));
        total += Integer.parseInt(s1);  
        x = x - s1;
    }
    JOptionPane.showMessageDialog(null, "the sum is" + total); }

Solution

  • This is another interpretation of the method @ZouZou used, but doesn't actually break up your string, it remembers where its already looked, and works its way along the string

    int total = 0;
    String inputString = "12 7 8 9 52";
    int prevIndex = 0;
    int index = 0;
    while (index > -1) {
      index = inputString.indexOf(' ', prevIndex);
      if (index > -1) {
        total += Integer.parseInt(inputString.substring(prevIndex, index));
        prevIndex = index + 1;
      } else {
        total += Integer.parseInt(inputString.substring(inputString.lastIndexOf(' ')+1));
    break;
      }
    }
    System.out.println(total);