diff --git a/.project b/.project
index a6b59da..0f677c3 100644
--- a/.project
+++ b/.project
@@ -20,4 +20,15 @@
org.eclipse.jdt.core.javanature
net.sf.eclipsecs.core.CheckstyleNature
+
+
+ 1743547762235
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
diff --git a/src/ca/bcit/comp1510/assignment3/q2/TimeSheet.java b/src/ca/bcit/comp1510/assignment3/q2/TimeSheet.java
index 83563c2..40f44b4 100644
--- a/src/ca/bcit/comp1510/assignment3/q2/TimeSheet.java
+++ b/src/ca/bcit/comp1510/assignment3/q2/TimeSheet.java
@@ -103,5 +103,38 @@ public class TimeSheet {
this.details.add(row);
}
-
+ /**
+ * main program entry to show it works.
+ * @param args unused
+ */
+ public static void main(String[] args) {
+ TimeSheet sheet = new TimeSheet();
+
+ final float hours1 = 2;
+ final float hours2 = 32 / 10;
+ final float hours3 = 38 / 10;
+
+ final int id3 = 3;
+
+ sheet.addRow(new TimeSheetRow(
+ 1,
+ "assignment1",
+ hours1, hours2, hours3
+ ));
+
+ sheet.addRow(new TimeSheetRow(
+ 2,
+ "assignment2",
+ hours3, hours2, hours1
+ ));
+
+ sheet.addRow(new TimeSheetRow(
+ id3,
+ "assignment3",
+ hours2, hours3, hours1
+ ));
+
+ System.out.println(sheet.toString());
+ }
}
+
diff --git a/src/ca/bcit/comp1510/assignment3/q2/TimeSheetRow.java b/src/ca/bcit/comp1510/assignment3/q2/TimeSheetRow.java
index ddff3db..dccd53f 100644
--- a/src/ca/bcit/comp1510/assignment3/q2/TimeSheetRow.java
+++ b/src/ca/bcit/comp1510/assignment3/q2/TimeSheetRow.java
@@ -9,29 +9,26 @@ public class TimeSheetRow {
/** MASK of bits for days of week represented inside hours long. */
private static final long[] MASK = {
- 0xFFL, 0xFF00L, 0xFF0000L,
- 0xFF000000L, 0xFF00000000L,
- 0xFF0000000000L, 0xFF000000000000L
+ 0xFFL, 0x00L, 0x0000L,
+ 0x000000L, 0x00000000L, 0x0000000000L,
+ 0x000000000000L, 0x00000000000000L
};
/** UMASK to unmask stuff. */
private static final long[] UMASK = {
- 0xFFFFFFFFFFFFFF00L,
- 0xFFFFFFFFFFFF00FFL,
- 0xFFFFFFFFFF00FFFFL,
- 0xFFFFFFFF00FFFFFFL,
- 0xFFFFFF00FFFFFFFFL,
- 0xFFFF00FFFFFFFFFFL,
+ 0xFFFFFFFFFFFFFF00L, 0xFFFFFFFFFFFF00FFL,
+ 0xFFFFFFFFFF00FFFFL, 0xFFFFFFFF00FFFFFFL,
+ 0xFFFFFF00FFFFFFFFL, 0xFFFF00FFFFFFFFFFL,
0xFF00FFFFFFFFFFFFL
};
-
+
/** DECI to convert hours. */
private static final float DECI = 10;
- /** baseHex to convert hexidecimal */
+ /** baseHex to convert hexidecimal. */
private static final int HEX_BASE = 16;
- /** SHIFT by bits */
+ /** SHIFT by bits. */
private static final int SHIFT = 8;
/** project number as int. */
@@ -52,7 +49,7 @@ public class TimeSheetRow {
this.hours = 0;
}
- /**4
+ /**
* TimeSheetRow constructor.
* @param projectNumber int
* @param workPackage String
@@ -143,32 +140,9 @@ public class TimeSheetRow {
* @param hour float
*/
public void setHour(int day, float hour) {
-// long encoded = ((long) (hour * DECI) | MASK[day + 1]) << day * SHIFT;
-// this.hours = (this.hours & UMASK[day]) | encoded;
- String hex = Integer.toHexString((int) (hour * DECI));
- long encoded = Long.parseLong(hex, HEX_BASE) << (day * SHIFT);
+ long encoded = ((long) (hour * DECI) | MASK[day + 1]) << day * SHIFT;
this.hours = (this.hours & UMASK[day]) | encoded;
}
- /**
- * main test encode decode.
- * @param args unused
- */
- public static void main(String[] args) {
- final Long n = 0X321420372d0b20L;
-
- TimeSheetRow t = new TimeSheetRow(
- 0,
- "Test",
- 3.2f, 1.1f, 4.5f, 5.5f, 3.2f, 2.0f, 5.0f
- );
-
- System.out.println(Long.toHexString(t.getHours()));
-// t.setHour(2, 3.2f);
-// t.setHour(4, 5.5f);
- for (int i = 0; i < 7; i++) {
- t.setHour(i, 3.0f);
- System.out.print(t.getHour(i) + " ");
- }
- }
+
}
diff --git a/src/ca/bcit/comp1510/assignment3/q2/TimeSheetRowTest.java b/src/ca/bcit/comp1510/assignment3/q2/TimeSheetRowTest.java
index 95126a6..cf8bf55 100644
--- a/src/ca/bcit/comp1510/assignment3/q2/TimeSheetRowTest.java
+++ b/src/ca/bcit/comp1510/assignment3/q2/TimeSheetRowTest.java
@@ -10,5 +10,7 @@ class TimeSheetRowTest {
void test() {
fail("Not yet implemented");
}
+
+
}