Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Please modify this program so it performs a partial input validation. If either

ID: 3630045 • Letter: P

Question

Please modify this program so it performs a partial input validation. If either fraction does not contain exactly one slash, have the program prompt the user to re-enter the fraction. The program will repeat the prompt as often as necessary until the user enters a string containing one slash. Please include single line comment with explanation next to where you made the changes.


Given Source code:

import java.util.*;
import java.lang.*;


public class FractionMath {

public static void main(String[] args)

{Scanner in=new Scanner(System.in);

int num1,num2,den1,den2,num3=0,den3=0,n=0,m;

String input,num;

System.out.print("Enter the first fraction:");

input=in.next();

n=input.indexOf('/');

num=(input.substring(0,n)).trim();

num1=Integer.parseInt(num);

m=input.length();

num=(input.substring(n+1,m)).trim();

den1=Integer.parseInt(num);

System.out.print("Enter the second fraction:");

input=in.next();

n=input.indexOf('/');

num=(input.substring(0,n)).trim();

num2=Integer.parseInt(num);

m=input.length();

num=(input.substring(n+1,m)).trim();

den2=Integer.parseInt(num);

num3=num1*den2+num2*den1;

den3=den1*den2;

print(num3,den3,"Sum");

num3=num1*den2-num2*den1;

den3=den1*den2;

print(num3,den3,"Difference");

num3=num1*num2;

den3=den1*den2;

print(num3,den3,"Product");

num3=num1*den2;

den3=den1*num2;

print(num3,den3,"Quotient");

}

public static int reduce(int num1,int num2) {

num1=Math.abs(num1);

num2=Math.abs(num2);

while (num1 != num2) {

if (num1 > num2)

num1 -= num2;

else

num2 -= num1;

}

return num1;

}

public static void print(int num3,int den3, String mess) {

int factor,n;

System.out.print(mess+": ");

factor=reduce(num3,den3);

num3/=factor;

den3/=factor;

if(num3<0&&den3<0)

{num3=num3*-1;

den3=den3*-1;

}

System.out.println(num3+"/"+den3);

}

}

Explanation / Answer

please rate - thanks

import java.util.*;
import java.lang.*;


public class FractionMath {

public static void main(String[] args)

{Scanner in=new Scanner(System.in);

int num1,num2,den1,den2,num3=0,den3=0,n=0,m;

String input,num;
do      //loop is to keep doing it
{
System.out.print("Enter the first fraction:");

input=in.next();

n=input.indexOf('/');

m=input.lastIndexOf('/');    //first and last index of will be the
if(n!=m||n==-1)             //same if only 1 /. n will be -1 if no
   System.out.println("First input wrong, please enter the input again in fraction format");

}while(n!=m||n==-1);
num=(input.substring(0,n)).trim();

num1=Integer.parseInt(num);

m=input.length();

num=(input.substring(n+1,m)).trim();

den1=Integer.parseInt(num);
do      //loop is to keep doing it
{

System.out.print("Enter the second fraction:");

input=in.next();

n=input.indexOf('/');
m=input.lastIndexOf('/');    //first and last index of will be the
if(n!=m||n==-1)             //same if only 1 /. n will be -1 if no
   System.out.println("First input wrong, please enter the input again in fraction format");

}while(n!=m||n==-1);

num=(input.substring(0,n)).trim();

num2=Integer.parseInt(num);

m=input.length();

num=(input.substring(n+1,m)).trim();

den2=Integer.parseInt(num);

num3=num1*den2+num2*den1;

den3=den1*den2;

print(num3,den3,"Sum");

num3=num1*den2-num2*den1;

den3=den1*den2;

print(num3,den3,"Difference");

num3=num1*num2;

den3=den1*den2;

print(num3,den3,"Product");

num3=num1*den2;

den3=den1*num2;

print(num3,den3,"Quotient");

}

public static int reduce(int num1,int num2) {

num1=Math.abs(num1);

num2=Math.abs(num2);

while (num1 != num2) {

if (num1 > num2)

num1 -= num2;

else

num2 -= num1;

}

return num1;

}

public static void print(int num3,int den3, String mess) {

int factor,n;

System.out.print(mess+": ");

factor=reduce(num3,den3);

num3/=factor;

den3/=factor;

if(num3<0&&den3<0)

{num3=num3*-1;

den3=den3*-1;

}

System.out.println(num3+"/"+den3);

}

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote