I need the user to be able to test more numbers after they enter a negative or p
ID: 3905948 • Letter: I
Question
I need the user to be able to test more numbers after they enter a negative or positive number. They should be prompted by please enter a number.
import java.util.Scanner;
public class sqrt
{
public static double sqrt(int number) throws IllegalArgumentException
{
double perm_dev = 0.0001;
double prevguess=1, next_guess=1;
if(number<0)
throw new IllegalArgumentException("Negative Number");
do
{
prevguess=next_guess;
next_guess=(prevguess + (number/prevguess))/2;
}
while(Math.abs(next_guess - prevguess)>perm_dev);
return next_guess;
}
public static void main(String[] args)
{
int number;
Scanner vp = new Scanner(System.in);
System.out.println("please enter a positive number: ");
number=vp.nextInt();
double sqrt;
try
{
sqrt=sqrt(number);
System.out.println("The Square Root of the number is: "+sqrt);
}
catch(IllegalArgumentException e)
{
System.out.println("Invalid Arguement because it's a Negative Number");
}
vp.close();
}
}
import java.util.Scanner;
public class sqrt
{
public static double sqrt(int number) throws IllegalArgumentException
{
double perm_dev = 0.0001;
double prevguess=1, next_guess=1;
if(number<0)
throw new IllegalArgumentException("Negative Number");
do
{
prevguess=next_guess;
next_guess=(prevguess + (number/prevguess))/2;
}
while(Math.abs(next_guess - prevguess)>perm_dev);
return next_guess;
}
public static void main(String[] args)
{
int number;
Scanner vp = new Scanner(System.in);
System.out.println("please enter a positive number: ");
number=vp.nextInt();
double sqrt;
try
{
sqrt=sqrt(number);
System.out.println("The Square Root of the number is: "+sqrt);
}
catch(IllegalArgumentException e)
{
System.out.println("Invalid Arguement because it's a Negative Number");
}
vp.close();
}
}
Explanation / Answer
// Below is the code which will prompt user to enter the number for multiple times,
//till the user enter 0 to exit.
/*
Added do while code block to your program to loop till the user type 0 to exit. If while true is set then program never end and it will prompt user to Enter number again and again. till program is termitated by using Ctrl+Z.
*/
import java.util.Scanner;
// this below import is to format output text. decimal point limit to 2 digit.
import java.text.DecimalFormat;
public class sqrt
{
public static double sqrt(int number) throws IllegalArgumentException
{
double perm_dev = 0.0001;
double prevguess=1, next_guess=1;
if(number<0)
throw new IllegalArgumentException("Negative Number");
do
{
prevguess=next_guess;
next_guess=(prevguess + (number/prevguess))/2;
}
while(Math.abs(next_guess - prevguess)>perm_dev);
return next_guess;
}
public static void main(String[] args)
{
int number;
double sqrt;
Scanner vp = new Scanner(System.in);
System.out.println("To exit program please type 0 ");
// Code modified here --------------------------------
do{
System.out.println("please enter a positive number: ");
number=vp.nextInt();
try{
sqrt=sqrt(number);
DecimalFormat df = new DecimalFormat("#.00");
System.out.println("The Square Root of the number is: "+ df.format(sqrt));
}catch(IllegalArgumentException e)
{
System.out.println("Invalid Arguement because it's a Negative Number");
}
//Code modified here -----------------------
}while (number != 0);
vp.close();
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.