Commit 08fe03db authored by samuelboulton's avatar samuelboulton

Done some more quesitons

parent 76667ddc
...@@ -2,6 +2,7 @@ import java.awt.List; ...@@ -2,6 +2,7 @@ import java.awt.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Random; import java.util.Random;
import java.util.Scanner;
public class Program { public class Program {
...@@ -72,31 +73,73 @@ public class Program { ...@@ -72,31 +73,73 @@ public class Program {
int[] resultsArray = new int[binaryArray.length]; int[] resultsArray = new int[binaryArray.length];
for(int i = 0; i < binaryArray.length; i++)
{
char[] binaryString = binaryArray[i].toCharArray();
int binTotal = 0;
int binCM = 1;
for (int j = 0; j < binaryString.length; j++)
{
int binIndex = binaryString.length - i - 1;
if (binaryString[binIndex] == '1')
{
binTotal = binTotal + binCM;
}
binCM = binCM * 2;
}
}
return resultsArray;
}
char[] binCA = binaryInput[0].toCharArray(); /*for(int i = 0; i<wordArray.length; i++) {
resultsArray[i] = ConvertASingleWordToInt(wordArray[i]);
}*//*
int binTotal = 0; int binTotal = 0;
int binCM = 0; int binCM = 1;
for (int i = 0; i < binCA.length; i++) { char[] binCA = binaryArray.toCharArray();
for (int i = 0; i < binCA.length; i++)
{
int binIndex = binCA.length - i - 1; int binIndex = binCA.length - i - 1;
if (binCA[binIndex] == '1') { if (binCA[binIndex] == '1')
{
binTotal = binTotal + binCM; binTotal = binTotal + binCM;
} }
binCM = binCM * 2; binCM = binCM * 2;
} }
System.out.println(binTotal); System.out.println(binTotal);
*//*
char[] binCA = binaryArray[0].toCharArray();
int binTotal = 0;
int binCM = 1;
for (int i = 0; i < binCA.length; i++)
{
int binIndex = binCA.length - i - 1;
if (binCA[binIndex] == '1')
{
binTotal = binTotal + binCM;
}
binCM = binCM * 2;
}
return resultsArray; return resultsArray;
} }
*//*
/*
public static int ConvertASingleBinaryToInt(String someBinary) { public static int ConvertASingleBinaryToInt(String someBinary) {
int result = 0; int result = 0;
for(int i = 0; i < binaryArray.length; i++)
{
}
if(someBinary == ) {result = 11;}
return result; return result;
...@@ -104,7 +147,7 @@ public class Program { ...@@ -104,7 +147,7 @@ public class Program {
} }
/*
public static int[] ConvertWordsToInt(String[] wordArray) { public static int[] ConvertWordsToInt(String[] wordArray) {
...@@ -133,9 +176,6 @@ public class Program { ...@@ -133,9 +176,6 @@ public class Program {
} }
*/ */
public static int[] ConvertHexToInt(String[] hexArray) { public static int[] ConvertHexToInt(String[] hexArray) {
...@@ -156,45 +196,29 @@ public class Program { ...@@ -156,45 +196,29 @@ public class Program {
public static int[] Union(int[] intArrayA, int[] intArrayB) { public static int[] Union(int[] intArrayA, int[] intArrayB) {
// DONE AND PASSED TEST
ArrayList<Integer> unionList = new ArrayList<Integer>(); ArrayList<Integer> unionList = new ArrayList<Integer>();
for(int i = 0; i < intArrayA.length; i++) for(int i = 0; i < intArrayA.length; i++)
{ {
unionList.add(intArrayA[i]); unionList.add(intArrayA[i]);
for(int k = 0; k < intArrayB.length; k++)
{
unionList.add(intArrayB[k]);
if(intArrayA[i] != intArrayB[k])
{
unionList.add(intArrayB[k]);
unionList.add(intArrayA[i]);
}
}
} }
/* for(int j = 0; j < intArrayB.length; j++)
for (int j = 0; j < unionList.size(); j++)
{
if(unionList.get(j) == intArrayA[i])
{
unionList.remove(j);
}
}
for(int k = 0; k < intArrayB.length; k++)
{ {
unionList.add(intArrayB[k]); unionList.add(intArrayB[j]);
for(int l = 0; l < unionList.size(); l++)
{
if(unionList.get(l) == intArrayB[k])
{
unionList.remove(l);
}
}
} }
*/ for(int k = 0; k < unionList.size(); k++)
{
for(int l = k + 1; l < unionList.size(); l++)
{
if(unionList.get(k).equals(unionList.get(l)))
{
unionList.remove(l);
l--;
}
}
}
int[] resultsArray = new int[unionList.size()]; int[] resultsArray = new int[unionList.size()];
for(int i = 0; i<unionList.size(); i++) { for(int i = 0; i<unionList.size(); i++) {
resultsArray[i] = unionList.get(i); resultsArray[i] = unionList.get(i);
...@@ -205,14 +229,10 @@ public class Program { ...@@ -205,14 +229,10 @@ public class Program {
} }
public static int[] Intersection(int[] intArrayA, int[] intArrayB) { public static int[] Intersection(int[] intArrayA, int[] intArrayB) {
// DONE AND PASSED TEST // DONE AND PASSED TEST
ArrayList<Integer> intersectList = new ArrayList<Integer>(); ArrayList<Integer> intersectList = new ArrayList<Integer>();
int results = 0;
for(int j = 0; j < intArrayA.length; j++) for(int j = 0; j < intArrayA.length; j++)
{ {
for(int k = 0; k < intArrayB.length; k++) for(int k = 0; k < intArrayB.length; k++)
...@@ -237,26 +257,26 @@ public class Program { ...@@ -237,26 +257,26 @@ public class Program {
} }
public static int[] Difference(int[] intArrayA, int[] intArrayB) { public static int[] Difference(int[] intArrayA, int[] intArrayB) {
ArrayList<Integer> differenceList = new ArrayList<Integer>(); ArrayList<Integer> differenceList = new ArrayList<Integer>();
/*
for(int j = 0; j < intArrayA.length; j++) for(int j = 0; j < intArrayA.length; j++)
{ {
for(int k = 0; k < intArrayB.length; k++) for(int k = 0; k < intArrayB.length; k++)
{ {
if(intArrayA[j] != intArrayB[k]) if(intArrayA[j] != intArrayB[k])
{ {
differenceList.add(intArrayA[j]);
} }
} }
} }
*/
int[] resultsArray = new int[differenceList.size()]; int[] resultsArray = new int[differenceList.size()];
...@@ -402,10 +422,20 @@ public static int Range (int[] input) { ...@@ -402,10 +422,20 @@ public static int Range (int[] input) {
public static double Median (int[] input) { public static double Median (int[] input) {
// DONE AND PASSED TEST
int output = 0; double output = 0;
double sum = 0.0;
Arrays.sort(input); Arrays.sort(input);
int totalCount = input.length;
if(totalCount%2 == 0)
{
sum = input[totalCount/2] + input[totalCount/2 - 1];
output = sum / 2;
}
else
{
output = input[totalCount /2];
}
return output; return output;
} }
...@@ -415,27 +445,30 @@ public static int Range (int[] input) { ...@@ -415,27 +445,30 @@ public static int Range (int[] input) {
public static double StandardDeviation (int[] input) { public static double StandardDeviation (int[] input) {
// DONE AND PASSED TEST
// ask about calcualtions double output = 0.0;
// the mean works double length = 0.0;
double totalMean = 0.0;
double sum = 0.0;
double output = 0; double sum2 = 0.0;
double mean = 0; double variance = 0.0;
double totalMean = 0 ; double mean = 0.0;
// calculate mean length = input.length;
for (int i = 0; i < input.length; i++) {
mean += input[i]; for(double i : input)
} {
totalMean = mean / input.length; sum += i;
// calculate standard dev mean = sum/length;
for(int j = 0; j<input.length; j++) }
{ totalMean = mean;
output = output + j + (j - totalMean)*(j - totalMean);
} for(double j :input)
output = output / (input.length - 1); {
output = Math.sqrt(output); sum2 += (j-totalMean)*(j-totalMean);
return output; variance = sum2/(length-1);
}
output = Math.sqrt(variance);
return output;
} }
...@@ -443,14 +476,12 @@ public static int Range (int[] input) { ...@@ -443,14 +476,12 @@ public static int Range (int[] input) {
public static double HarmonicMean (int[] input) { public static double HarmonicMean (int[] input) {
//DONE AND PASSED TEST
double output = 0; double output = 0.0;
double sum = 0; double sum = 0.0;
// ASK WHY THIS IS WRONG
for(int i = 0; i<input.length; i++) for(int i = 0; i<input.length; i++)
{ {
sum = (sum + 1) / input[i]; sum += 1.0 / input[i];
} }
output = input.length / sum; output = input.length / sum;
...@@ -462,9 +493,19 @@ public static int Range (int[] input) { ...@@ -462,9 +493,19 @@ public static int Range (int[] input) {
public static double ComplexSumFunctionA (int[] input) { public static double ComplexSumFunctionA (int[] input) {
// ASK MATT
double output = 0.0;
double sum = 0.0;
double sum2 = 0.0;
double sum3 = 0.0;
double output = 0; for(int i = 0; i < input.length; i++)
{
sum += input[i] / 2;
sum2 += Math.pow(sum, i / 2);
}
sum3 = input.length + 3;
output = sum2 / sum3;
return output; return output;
} }
...@@ -477,7 +518,14 @@ public static int Range (int[] input) { ...@@ -477,7 +518,14 @@ public static int Range (int[] input) {
int[][] resultMatrix = new int[matrix.length][matrix[0].length]; int[][] resultMatrix = new int[matrix.length][matrix[0].length];
for(int i = 0; i < matrix.length; i ++)
{
for(int j = 0; j<matrix[0].length; j++)
{
resultMatrix[i][j] = scalar * matrix[i][j];
}
}
return resultMatrix; return resultMatrix;
...@@ -487,10 +535,20 @@ public static int Range (int[] input) { ...@@ -487,10 +535,20 @@ public static int Range (int[] input) {
public static int[][] ComplexMatrixOperation (int[][] matrix, int scalar){ public static int[][] ComplexMatrixOperation(int[][] matrix,int[][] matrix2, int scalar){
int[][] resultMatrix = new int[matrix.length][matrix[0].length]; int[][] resultMatrix = new int[matrix.length][matrix[0].length];
// DONE AND PASSED TEST
int[][] sum = new int[matrix.length][matrix[0].length];
for(int i = 0; i<matrix.length; i++)
{
for(int j = 0; j<matrix2[0].length; j++)
{
sum[i][j] = matrix[i][j] + matrix2[i][j];
resultMatrix[i][j] = scalar * sum[i][j];
}
}
return resultMatrix; return resultMatrix;
} }
...@@ -504,7 +562,8 @@ public static int Range (int[] input) { ...@@ -504,7 +562,8 @@ public static int Range (int[] input) {
Random rng = new Random(1234); Random rng = new Random(1234);
for(int i = 0; i<iterations; i++) { for(int i = 0; i<iterations; i++)
{
} }
...@@ -523,7 +582,8 @@ public static int Range (int[] input) { ...@@ -523,7 +582,8 @@ public static int Range (int[] input) {
Random rng = new Random(1234); Random rng = new Random(1234);
for(int i = 0; i<iterations; i++) { for(int i = 0; i<iterations; i++)
{
} }
......
...@@ -258,25 +258,25 @@ class ProgramTest { ...@@ -258,25 +258,25 @@ class ProgramTest {
} }
/*
@Test @Test
void testComplexMatrixOperation() { void testComplexMatrixOperation() {
int[][] matrix = {{1,2}, int[][] matrix = {{1,2},
{3,4}}; {3,4}};
int[][] matrix2 = Program.ComplexMatrixOperation(matrix,matrix,11); int[][] matrix2 = Program.ComplexMatrixOperation(matrix,matrix,11);
assertEquals(matrix2[0][0],22); assertEquals(matrix2[0][0],22);
assertEquals(matrix2[0][1],44); assertEquals(matrix2[0][1],44);
assertEquals(matrix2[1][0],66); assertEquals(matrix2[1][0],66);
assertEquals(matrix2[1][1],88); assertEquals(matrix2[1][1],88);
} }
*/
@Test @Test
void testGenerateDistributionForSpecificDie() { void testGenerateDistributionForSpecificDie() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment