title: Parsing string to accept other inputs
body: <p><strong>General info.</strong></p>
  
  <p>A mixed number is one of 3 forms:</p>
  
  <p>1).An integer such as 12. </p>
  
  <p>2).Fraction = int/int such as ¾</p>
  
  <p>3.Mix of forms 1 and 2: 1 ¾ In this case one of more blanks act as a separator between integer and the fraction.</p>
  
  <p><strong>Question:</strong> 1.Treat the 1st and the 2nd forms as the special input and enhance the method parse to include these two cases.</p>
  
  <p><strong>* **I have already done the 3rd form of a mixed number</strong> and <strong>i am confused on how to parse the string to include an integer and a fraction alongside the mixed number in Mix.java</strong> . Output should be in gcd form. The following three programs run together.Some help me please thank you.</p>
  
  <p>Here is my Mixed number code:</p>
  
  <pre><code>import java.util.Scanner;
  class Mix extends Fraction{
    public Mix(int n, int m) {super(n,m); }
  
    public String displayMix() {
       String str="";
       if (first &lt; second) str=first+"/"+second;
       else str= first/second +" "+ first%second+"/"+second;
       return str;
  
  
    }//display
  
  
    public Mix(String str) {
       int[] iA= parse (str);
       int top=iA[0]*iA[2]+iA[1];
       int bot= iA[2];
       int gcd = gcd(top,bot);
       first=top/gcd;
       second =bot/gcd;
    }//Mix
  
    public static Mix add (Mix s, Mix s2){
       int gtop=s.first * s2.second
          + s2.first * s.second;
       int gbottom= s.second * s2.second;
       return (new Mix(gtop,gbottom));
    }//add
  
    public static String get (){
       Scanner scan = new Scanner (System.in);
       String userInput = scan.nextLine();
       userInput =userInput.trim();
       return (userInput);
  
    } //get
  
  
    public static int[] parse (String userInput){
       int pos = userInput.indexOf(" ");  
  
      String sNum=userInput.substring(0,pos);
       int iNum = Integer.parseInt(sNum);//first integer
  
       String sNum2=userInput.substring(pos+1);
       pos= sNum2.indexOf("/");
       String sTop=sNum2.substring(0,pos);
       int iTop = Integer.parseInt(sTop);//second integer
  
       String sBot=sNum2.substring(pos+1);
       int iBot = Integer.parseInt(sBot);//third integer
  
  
       int[] sA = {iNum,iTop,iBot};
  
       return (sA);
  
    } //parse
  
    public static void main(String[] args) {
       System.out.print("Please enter mixed-format number :");
       String userInput = Mix.get();
       System.out.println("Input is: "+userInput);
  
       Mix s = new Mix(userInput);
       s.displayMix();
  
       System.out.print("Please enter mixed-format number :");
  
       userInput = Mix.get();
       System.out.println("Input is: "+userInput);
       Mix s2 = new Mix(userInput);
       s2.displayMix();
  
       Mix h= Mix.add(s,s2);
       System.out.print(h.displayMix());
  
     }//main
    }//class
  </code></pre>
  
  <p>Here is the Fraction code:</p>
  
  <pre><code>    public class Fraction extends Pair {
     //attributes: NONE
  
    public Fraction() { first=0; second=1;}
  
    public Fraction(int n, int m) {
       super(n,m);
       int g=gcd(n,m);
       first = first/g;
       second=second/g;
      }//Fraction
  
    public String display2() {
      String str = first+"/"+second;
        return str;
  
    }//display
  
    public static Fraction add (Fraction f1, Fraction f2){
       int gtop=f1.first * f2.second
          + f2.first * f1.second;
       int gbottom= f1.second * f2.second;
       return (new Fraction(gtop,gbottom));
    }
  
    public static int gcd (int n, int m){
       while ( n!=m) {
          if (n&gt;m) n=n-m;
          else m=m-n;
       }//while
       return (n);
    }//gcd
  
  //test the class
  
    public static void main(String[] args) {
    //pseudo-code is here
       Fraction f= new Fraction();
       f.display();
       System.out.print(f.display2());
    }//main
  
   } //class
  </code></pre>
  
  <p>Finally here is pair:</p>
  
  <pre><code>  import java.util.Arrays;
   public class Pair {
      int first;
      int second;     
  
   public Pair (){first=0; second=0;}
  
   public Pair(int n, int m) {
       first=n;
       second=m;
    }//Pair
  
  
  
    public int[] display() {
    //pseudo_code is here
       int[] c = {first, second};
  return c;
    }//display
  
    public static void main(String[] args) {
    //pseudo-code is here
       Pair f= new Pair();
       f.display();
  
  System.out.println(Arrays.toString(f.display()));
     }//main
   } //class
  </code></pre>