Negative powers
This commit is contained in:
@@ -5,6 +5,7 @@ public class PowerOfSquares
|
||||
public double IntegerPower(int base, int power)
|
||||
{
|
||||
|
||||
|
||||
if(power == 0)
|
||||
return 1;
|
||||
|
||||
|
||||
@@ -10,11 +10,13 @@ public class PowerOfSquaresTest extends PowerOfSquares
|
||||
@Test
|
||||
public void integerPower()
|
||||
{
|
||||
System.out.println(IntegerPower(2,-1));
|
||||
|
||||
assertEquals(27,IntegerPower(3,3));
|
||||
assertEquals(4,IntegerPower(2,2));
|
||||
assertEquals(1,IntegerPower(2,0));
|
||||
assertEquals(0.5 , IntegerPower(2,-1));
|
||||
assertEquals(1,IntegerPower(2,2)*IntegerPower(2,-2));
|
||||
assertEquals(1,IntegerPower(10,10)*IntegerPower(10,-10),0.1);
|
||||
|
||||
}
|
||||
|
||||
|
||||
23
src/Phonebook/PhoneNumber.java
Normal file
23
src/Phonebook/PhoneNumber.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package Phonebook;
|
||||
|
||||
public class PhoneNumber
|
||||
{
|
||||
String name;
|
||||
String number;
|
||||
public String getNumber()
|
||||
{
|
||||
return number;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
PhoneNumber(String num, String name)
|
||||
{
|
||||
this.number = num;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
}
|
||||
59
src/Phonebook/Phonebook.java
Normal file
59
src/Phonebook/Phonebook.java
Normal file
@@ -0,0 +1,59 @@
|
||||
package Phonebook;
|
||||
|
||||
|
||||
import java.util.Stack;
|
||||
|
||||
public class Phonebook
|
||||
{
|
||||
public Stack<PhoneNumber> Numbers = new Stack<PhoneNumber>();
|
||||
|
||||
public boolean insert(String phoneNum, String name)
|
||||
{
|
||||
//check not start with 0 or 1
|
||||
if (phoneNum.charAt(0) == '0' || phoneNum.charAt(0) == '1')
|
||||
return false;
|
||||
|
||||
if (phoneNum.length() == 10)
|
||||
return false;
|
||||
|
||||
PhoneNumber[] listofNums = Numbers.toArray(new PhoneNumber[0]);
|
||||
for (int i = 0; i < listofNums.length; i++)
|
||||
{
|
||||
|
||||
String check = listofNums[i].getNumber();
|
||||
if (phoneNum.equals(check))
|
||||
return false;
|
||||
}
|
||||
PhoneNumber toInsert = new PhoneNumber(phoneNum, name);
|
||||
Numbers.push(toInsert);
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
public String getPhoneNumber(String name)
|
||||
{
|
||||
PhoneNumber[] listofNums = Numbers.toArray(new PhoneNumber[Numbers.size()]);
|
||||
for (int i = 0; i < listofNums.length; i++)
|
||||
{
|
||||
|
||||
String check = listofNums[i].getName();
|
||||
if (name.equals(check))
|
||||
return listofNums[i].getNumber();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getName(String num)
|
||||
{
|
||||
PhoneNumber[] listofNums = Numbers.toArray(new PhoneNumber[Numbers.size()]);
|
||||
for (int i = 0; i < listofNums.length; i++)
|
||||
{
|
||||
|
||||
String check = listofNums[i].getNumber();
|
||||
if (num.equals(check))
|
||||
return listofNums[i].getName();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
39
src/Phonebook/PhonebookTest.java
Normal file
39
src/Phonebook/PhonebookTest.java
Normal file
@@ -0,0 +1,39 @@
|
||||
package Phonebook;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class PhonebookTest
|
||||
{
|
||||
|
||||
@Test
|
||||
public void insert()
|
||||
{
|
||||
PhoneNumber n1 = new PhoneNumber("81011111111","Medhat");
|
||||
Phonebook testBook = new Phonebook();
|
||||
assertTrue(testBook.insert(n1.getNumber(),n1.getNumber()));
|
||||
assertFalse(testBook.insert("1000000","hmm"));
|
||||
assertFalse(testBook.insert("000565656565656565656","Nm"));
|
||||
assertFalse(testBook.insert("2310456789","Nope"));
|
||||
assertFalse(testBook.insert(n1.getNumber(),n1.getNumber()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getPhoneNumber()
|
||||
{
|
||||
Phonebook testBook = new Phonebook();
|
||||
testBook.insert("71023748927398", "Jeff");
|
||||
String name = "Jeff";
|
||||
assertEquals(name, testBook.getName("71023748927398"));
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getName()
|
||||
{
|
||||
Phonebook testBook = new Phonebook();
|
||||
testBook.insert("810789987","Hamada");
|
||||
assertEquals("810789987", testBook.getPhoneNumber("Hamada"));
|
||||
}
|
||||
}
|
||||
28
src/Phonebook/YellowPages.java
Normal file
28
src/Phonebook/YellowPages.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package Phonebook;
|
||||
|
||||
public class YellowPages extends Phonebook
|
||||
{
|
||||
public int TotalNumbers()
|
||||
{
|
||||
return Numbers.size();
|
||||
}
|
||||
public double percentage810()
|
||||
{
|
||||
double percentage;
|
||||
double total = 0;
|
||||
PhoneNumber[] listofNums = Numbers.toArray(new PhoneNumber[Numbers.size()]);
|
||||
for (int i = 0; i < listofNums.length; i++)
|
||||
{
|
||||
String check = listofNums[i].getNumber();
|
||||
if (check.startsWith("810"))
|
||||
total++;
|
||||
}
|
||||
double size = Numbers.size();
|
||||
percentage = 100*total/size;
|
||||
|
||||
return percentage;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
31
src/Phonebook/YellowPagesTest.java
Normal file
31
src/Phonebook/YellowPagesTest.java
Normal file
@@ -0,0 +1,31 @@
|
||||
package Phonebook;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class YellowPagesTest
|
||||
{
|
||||
|
||||
@Test
|
||||
public void totalNumbers()
|
||||
{
|
||||
YellowPages testPage = new YellowPages();
|
||||
testPage.insert("8105464654654678","Jeff");
|
||||
testPage.insert("81078979878974","Jefferson");
|
||||
testPage.insert("8104654654654654","Jeffery");
|
||||
testPage.insert("81265464654654654","Jef");
|
||||
assertEquals(4,testPage.TotalNumbers());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void percentage810()
|
||||
{
|
||||
YellowPages testPage = new YellowPages();
|
||||
testPage.insert("8105464654654678","Jeff");
|
||||
testPage.insert("81078979878974","Jefferson");
|
||||
testPage.insert("8104654654654654","Jeffery");
|
||||
testPage.insert("81265464654654654","Jef");
|
||||
assertEquals(75.0,testPage.percentage810(),0.1);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user