Please I need this to be done in Java can I have it answered
Please I need this to be done in Java, can I have it answered by anonymous who answered my last question regarding java?
Thank you
You will need to implement a specific algorithm implementation to match the class definition AND implement a unit test using JUnit that conforms the specific naming convention.
Algorithm:
Inputs: integers m and n , assumes m and n are >= 1
Order is not important for this algorithm
Local variables integers:
remainder Initialize:
No initialization required
while(true)
{
remainder = n modulo m;
if(remainder == 0)
{
break;
}
n = m;
m = remainder
}
return m;
You will need to use the following test data to verify your implementation
m
n
GCD
4567820
2147483640
20
545690876L
3456901294L
2
546587619L
21474836121L
3
951987545L
21474836651L
1
10
5
5
1542354865L
3216548445L
5
-100
325
InvalidParametersException
4951987545L
3216548445L
15
94951987542L
33216548448L
6
import java.util.List;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class TestHarness
{ public static void main(String[] args)
{
testWithStudentTest();
}
private static void testWithStudentTest()
{
try{ Result result = org.junit.runner.JUnitCore.runClasses(Week04JUnitTest.class);
int failCount = result.getFailureCount();
if( failCount > 0 )
{ List<Failure> failures = result.getFailures();
for(Failure fail : failures)
{
trace(\"FAILED: \" + fail.getMessage());
}
} else{
trace(\"SUCCESS\");
}
}catch(Exception ex) {
trace(\"Unexpected exception: \" + ex.getMessage());
}
}
private static void trace(String msg)
{ System.out.println(msg);
}
}
Turn in
Week04JUnitTest.java, TimedGcd.java
| m | n | GCD |
| 4567820 | 2147483640 | 20 |
| 545690876L | 3456901294L | 2 |
| 546587619L | 21474836121L | 3 |
| 951987545L | 21474836651L | 1 |
| 10 | 5 | 5 |
| 1542354865L | 3216548445L | 5 |
| -100 | 325 | InvalidParametersException |
| 4951987545L | 3216548445L | 15 |
| 94951987542L | 33216548448L | 6 |
Solution
program
package com.ap.beans;
import java.security.InvalidParameterException;
import java.util.Scanner;
public class AlgorithamTest {
public int m;
public int n;
public String toString() {
return \"AlgorithamTest [m=\" + m + \", n=\" + n + \"]\";
}
public void algorithamtest(int m,int n)
{
int remainder=0;
while(true)
{
remainder = n % m;
if(remainder == 0)
{
break;
}
n = m;
m = remainder;
}
System.out.println(m);
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println(\"enter m value\");
int m=scanner.nextInt();
System.out.println(\"enter n value\");
int n=scanner.nextInt();
AlgorithamTest test=new AlgorithamTest();
if(m<0||n<0)
{
throw new InvalidParameterException();
}else
test.algorithamtest(m,n);
}
}
output
enter m value
4567820
enter n value
2147483640
20



