CS 1073 Introductory Programming
|
| Source | Runs |
|---|---|
public class Triangle {
public static void main(String[] args) {
double x1 = 2, y1 = 1, x2 = 6, y2 = 1, x3 = 6, y3 = 4;
double a, b, c;
a = Math.sqrt((x1 - x2)*(x1 - x2) +(y1 - y2)*(y1 - y2));
b = Math.sqrt((x1 - x3)*(x1 - x3) +(y1 - y3)*(y1 - y3));
c = Math.sqrt((x3 - x2)*(x3 - x2) +(y3 - y2)*(y3 - y2));
double s = 0.5*(a + b + c);
double area = Math.sqrt(s*(s-a)*(s-b)*(s-c));
System.out.println("Area: " + area);
// just to check area formula with another method
double A = Math.acos((b*b + c*c - a*a) / (2.0*b*c));
double area2 = (0.5)*b*c*Math.sin(A);
System.out.println("Area2: " + area2);
}
}
|
Result of run: Area: 6.0 Area2: 6.0 |
| Original | Answer |
|---|---|
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum = sum + i;
}
System.out.println("Sum: " + sum);
// note: exam had i in place of sum |
int sum = 0;
for (int i = 1; i <= 9; i = i + 2) { // 10 works also
sum = sum + i*i;
}
System.out.println("Sum odd squares: " + sum);
|
| Output: Sum: 55 | Output: Sum odd squares: 165 |
| Source | Runs |
|---|---|
double sum = 0;
double term = 1.0;
for(int i = 1; i <= 4; i++) {
sum = sum + term;
System.out.println("i: " + i +
", sum: " + sum +
", term: " + term);
// calculate term for next loop
term = 0.5*term;
}
System.out.println(sum);
|
Output: 1.875 Output with extra black line: i: 1, sum: 1.0, term: 1.0 i: 2, sum: 1.5, term: 0.5 i: 3, sum: 1.75, term: 0.25 i: 4, sum: 1.875, term: 0.125 1.875 |
| Source | Run |
|---|---|
public class Triangle {
public static void chars(char ch, int n) {
for (int i = 1; i <= n; i++)
System.out.print(ch);
}
public static void main(String[] args) {
for (int i = 0; i <= 4; i++) {
chars(' ', i); chars('*', 5-i);
System.out.println();
}
}
} |
i 5-i line 0:***** 0 blanks, 5 stars line 1: **** 1 blanks, 4 stars line 2: *** 2 blanks, 3 stars line 3: ** 3 blanks, 2 stars line 4: * 4 blanks, 1 stars |
int[] a = {22, 33, 55, 88};
|
|
Another very confusing part of Java is that soon we will be talking about Strings, which are more-or-less just arrays of char. If you want the length of String a, it is a.length(), with parens.
| Source | Runs |
|---|---|
public class Array {
public static int multiplyElements(int[] x) { // Part b.
int prod = 1;
for (int i = 0; i < x.length; i++)
prod = prod*x[i];
return prod;
}
public static void printArray(int[] x) {
for (int i = 0; i < x.length; i++) // loop to print
System.out.print(x[i] + " ");
System.out.println();
}
public static void main(String[] args) {
int[] a = {12, 23, 34, 45, 56};
int[] b = {4, 1, 2, 5, 3};
printArray(a);
printArray(b); // Part c.
System.out.println(multiplyElements(b)); // Part d.
}
} |
Original output: (Part a) 12 23 34 45 56 Final output: 12 23 34 45 56 4 1 2 5 3 120 |
| Source | Run |
|---|---|
public class Array {
public static int addElements(int[] x) { // Part b.
int sum = 0;
for (int i = 0; i < x.length; i++)
sum = sum + x[i];
return sum;
}
public static int[] multiplyArrays(int[] x, int[] y) {
int[] z = new int[x.length];
for (int i = 0; i < x.length; i++)
z[i] = x[i]*y[i];
return z;
}
public static int innerProduct(int[] x, int[] y) {
return addElements(multiplyArrays(x, y));
}
public static void printArray(int[] x) {
for (int i = 0; i < x.length; i++)
System.out.print(x[i] + " ");
System.out.println();
}
public static void main(String[] args) {
int[] a = {12, 23, 34, 45, 56};
int[] b = {4, 1, 2, 5, 3};
printArray(a);
printArray(b);
System.out.println(innerProduct(a, b));
}
} |
12 23 34 45 56 4 1 2 5 3 532 |