When I run the code it print out the greatest common divisor(gcd). I need help with  entering either n1 or n2 less than zero is an error: Catch these errors and make the user enter another value until they enter an acceptable one for the value in error. Give an error message if this happens.    import java.util.Scanner; public class Lab5 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter a first number: "); int n1 = input.nextInt(); System.out.print("Enter a second number: "); int n2 = input.nextInt(); int r = 0; while(!(n1 % n2 == 0)) { r = n1 % n2; if(r==0) { r = n2; } if(n2 == 0 || n2 < 0 || n1 < 0) { System.out.println("ERROR!! Enter a number that is greater than 0"); System.out.print("Enter a first number: "); n1 = input.nextInt(); System.out.print("Enter a Second number: "); n2 = input.nextInt(); } r = n1 % n2; n1 = n2; n2 = r; } System.out.println("GCD of two numbers " + n1 +" and " + n2 +" is : "+ n2); } }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

When I run the code it print out the greatest common divisor(gcd). I need help with 

entering either n1 or n2 less than zero is an error: Catch these errors and make the user enter another value until they enter an acceptable one for the value in error. Give an error message if this happens. 

 

import java.util.Scanner;

public class Lab5 {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a first number: ");
int n1 = input.nextInt();
System.out.print("Enter a second number: ");
int n2 = input.nextInt();
int r = 0;


while(!(n1 % n2 == 0)) {
r = n1 % n2;
if(r==0) {
r = n2;
}
if(n2 == 0 || n2 < 0 || n1 < 0) {
System.out.println("ERROR!! Enter a number that is greater than 0");
System.out.print("Enter a first number: ");
n1 = input.nextInt();
System.out.print("Enter a Second number: ");
n2 = input.nextInt();
}
r = n1 % n2;
n1 = n2;
n2 = r;
}
System.out.println("GCD of two numbers " + n1 +" and " + n2 +" is : "+ n2);

}

}

Expert Solution
Step 1

Explanation of the program code is provided within the comments.

Rectified program code:

 

 

//importing data package

import java.util.Scanner;

//class

public class Lab5 {

            //main method

             public static void main(String[] args) {

                   //declaring required variables

                   int n1=1, n2=1;

                   int r;

                   //scanner to get input from user

                   Scanner sc = new Scanner(System.in);

                 

                   //while loop

                   while(true) {

                           //displaying message to user to enter the value of n1

                       System.out.println("Enter value of n1: ");

                       //reading input from the user

                       n1 = sc.nextInt();

                       //checking negative number

                       if(n1<0) {

                           //error message

                           System.out.println("Number should be greater than 0");

                       }else {

                           //if non negative then input is valid, so break out of loop

                           break;

                       }

                   }

                   //while loop

                   while(true) {

                           //displaying message to user to enter the value of n1

                       System.out.println("Enter value of n2: ");

                       //reading input from the user

                       n2 = sc.nextInt();

                       //checking for negative input

                       if(n2<0)

                       {

                           //checking for non - negative

                           System.out.println("Number should be greater than 0");

                       }

                       //if n2 is zero

                       else if(n2==0)

                       {

                           //displaying error message to the user that cannot divide by 0

                           System.out.println("n2 Cannot be 0");

                       }

                       //otherwise

                       else

                       {

                           //else it is a valid value

                           break;

                       }

                   }

                   //while loop to calculate gcd

                   while(true)

                   {

                         //getting remainder

                       r = n1 % n2;

                       //if remainder is 0

                       if(r==0)

                       {

                           //if remainder is zero n2 is the gcd

                           System.out.println("GCD of two numbers " + n1 +" and " + n2 +" is : "+ n2);

                           break; //breaking

                       }

                       //if remainder is 1

                       else if(r==1)

                       {

                           //if remainder is one then numbers are mutually prime

                           System.out.println("The two numbers are mutually prime(r=1)");

                           break;

                           }

                       //otherwise

                       else

                       {

                           //else change the values and continue the loop

                           n1=n2;

                           n2=r;

                       }

                   }

 

               }

 

}

 

 

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Random Class and its operations
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education