Negative powers
This commit is contained in:
@@ -5,6 +5,7 @@ public class PowerOfSquares
|
|||||||
public double IntegerPower(int base, int power)
|
public double IntegerPower(int base, int power)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if(power == 0)
|
if(power == 0)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
|||||||
@@ -10,11 +10,13 @@ public class PowerOfSquaresTest extends PowerOfSquares
|
|||||||
@Test
|
@Test
|
||||||
public void integerPower()
|
public void integerPower()
|
||||||
{
|
{
|
||||||
System.out.println(IntegerPower(2,-1));
|
|
||||||
assertEquals(27,IntegerPower(3,3));
|
assertEquals(27,IntegerPower(3,3));
|
||||||
assertEquals(4,IntegerPower(2,2));
|
assertEquals(4,IntegerPower(2,2));
|
||||||
assertEquals(1,IntegerPower(2,0));
|
assertEquals(1,IntegerPower(2,0));
|
||||||
assertEquals(0.5 , IntegerPower(2,-1));
|
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