Skip to content

Commit d85cb8d

Browse files
Brian WiederBrian Wieder
Brian Wieder
authored and
Brian Wieder
committed
Added Quadratic Formula and Trinomial Factoring
1 parent e7e4641 commit d85cb8d

File tree

9 files changed

+415
-2
lines changed

9 files changed

+415
-2
lines changed

.idea/modules.xml

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/AndroidManifest.xml

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
</intent-filter>
1717
</activity>
1818
<activity android:name=".PolynomialActivity" />
19-
<activity android:name=".BinomialActivity"></activity>
19+
<activity android:name=".BinomialActivity" />
20+
<activity android:name=".QuadraticActivity" />
21+
<activity android:name=".TrinomialActivity"></activity>
2022
</application>
2123

2224
</manifest>

app/src/main/java/com/a4wieders/algebraandbeyond/Functions.java

+38
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,42 @@ private static String cant(){
8484
public static String BinomialFactoring(double x, double constant){
8585
return"("+sqrt(x)+"x + "+sqrt(constant) +")("+sqrt(x)+"x - "+sqrt(constant)+")\nAlways check to make sure that the outputing factors are in simplest form";
8686
}
87+
88+
public static String QuadraticFormula(double a, double b, double c){
89+
Double determinant = b*b-4*a*c;
90+
91+
if(determinant > 0){
92+
double root2 = (-b-sqrt(determinant))/(2*a);
93+
double root1 = (-b+sqrt(determinant))/(2*a);
94+
return "The roots of this is are "+root1 +" and "+root2;
95+
}else if(determinant == 0) {
96+
double root1 = -b / (2 * a);
97+
double root2 = root1;
98+
return "The roots of this is are " + root1 + " and " + root2;
99+
}
100+
Log.e("Debug", "The determinate is "+ determinant);
101+
return "Error, roots could not be found";
102+
}
103+
104+
public static String findStuff(double firstCoeffient, double secondCoeffient, double thirdCoeffient){
105+
boolean found = false;
106+
double x = -200;
107+
int y1 = -200;
108+
while(!found){
109+
double firstThird = firstCoeffient * thirdCoeffient;
110+
double xDivThird = firstThird / x;
111+
double xPxDthird = x + xDivThird;
112+
if(xPxDthird == secondCoeffient){
113+
return GCF(x, xDivThird, firstCoeffient, thirdCoeffient);
114+
}else{
115+
x += 1;
116+
y1 += 1;
117+
}
118+
if(y1 >= 2000){
119+
return cant();
120+
}
121+
}
122+
return cant();
123+
}
124+
87125
}

app/src/main/java/com/a4wieders/algebraandbeyond/MainActivity.java

+14
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,19 @@ public void onClick(View v) {
3232
startActivity(binoIntent);
3333
}
3434
});
35+
QuadBtn.setOnClickListener(new View.OnClickListener() {
36+
@Override
37+
public void onClick(View v) {
38+
Intent quadIntent = new Intent(MainActivity.this, QuadraticActivity.class);
39+
startActivity(quadIntent);
40+
}
41+
});
42+
TriBtn.setOnClickListener(new View.OnClickListener() {
43+
@Override
44+
public void onClick(View v) {
45+
Intent triIntent = new Intent(MainActivity.this, TrinomialActivity.class);
46+
startActivity(triIntent);
47+
}
48+
});
3549
}
3650
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
package com.a4wieders.algebraandbeyond;
2+
3+
import android.content.DialogInterface;
4+
import android.content.Intent;
5+
import android.support.v7.app.AlertDialog;
6+
import android.support.v7.app.AppCompatActivity;
7+
import android.os.Bundle;
8+
import android.view.View;
9+
import android.widget.Button;
10+
import android.widget.EditText;
11+
import android.widget.TextView;
12+
13+
public class QuadraticActivity extends AppCompatActivity {
14+
15+
EditText x2;
16+
EditText x;
17+
EditText constant;
18+
Button calculate;
19+
TextView result;
20+
21+
@Override
22+
protected void onCreate(Bundle savedInstanceState) {
23+
super.onCreate(savedInstanceState);
24+
setContentView(R.layout.activity_quadratic);
25+
26+
x2 = (EditText) findViewById(R.id.x2Quad);
27+
x = (EditText) findViewById(R.id.xQuad);
28+
constant = (EditText) findViewById(R.id.constQuad);
29+
calculate = (Button) findViewById(R.id.calcBtnQuad);
30+
result = (TextView) findViewById(R.id.resultLblQuad);
31+
32+
calculate.setOnClickListener(new View.OnClickListener() {
33+
@Override
34+
public void onClick(View v) {
35+
String x2String = x2.getText().toString();
36+
String xString = x.getText().toString();
37+
String constString = constant.getText().toString();
38+
39+
if(!x2String.isEmpty() && x2String != null && !xString.isEmpty() && xString != null && !constString.isEmpty() && constString != null){
40+
try {
41+
double x2Double = Double.parseDouble(x2.getText().toString());
42+
double xDouble = Double.parseDouble(x.getText().toString());
43+
double constantDouble = Double.parseDouble(constant.getText().toString());
44+
45+
result.setText(Functions.QuadraticFormula(x2Double, xDouble, constantDouble));
46+
47+
} catch (NumberFormatException e) {
48+
AlertDialog.Builder errorDialog = new AlertDialog.Builder(QuadraticActivity.this);
49+
errorDialog.setTitle("Incompatible numbers");
50+
errorDialog.setMessage("Please enter compatible numbers");
51+
errorDialog.setCancelable(false);
52+
errorDialog.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
53+
@Override
54+
public void onClick(DialogInterface dialog, int which) {
55+
Intent main = new Intent(QuadraticActivity.this, MainActivity.class);
56+
startActivity(main);
57+
}
58+
});
59+
60+
AlertDialog error = errorDialog.create();
61+
error.show();
62+
}
63+
}
64+
}
65+
});
66+
}
67+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package com.a4wieders.algebraandbeyond;
2+
3+
import android.content.DialogInterface;
4+
import android.content.Intent;
5+
import android.support.v7.app.AlertDialog;
6+
import android.support.v7.app.AppCompatActivity;
7+
import android.os.Bundle;
8+
import android.view.View;
9+
import android.widget.Button;
10+
import android.widget.EditText;
11+
import android.widget.TextView;
12+
13+
public class TrinomialActivity extends AppCompatActivity {
14+
15+
EditText x2;
16+
EditText x;
17+
EditText constant;
18+
Button calculate;
19+
TextView result;
20+
21+
@Override
22+
protected void onCreate(Bundle savedInstanceState) {
23+
super.onCreate(savedInstanceState);
24+
setContentView(R.layout.activity_trinomial);
25+
26+
x2 = (EditText) findViewById(R.id.x2Tri);
27+
x = (EditText) findViewById(R.id.xTri);
28+
constant = (EditText) findViewById(R.id.constTri);
29+
calculate = (Button) findViewById(R.id.calcTri);
30+
result = (TextView) findViewById(R.id.resultTri);
31+
32+
calculate.setOnClickListener(new View.OnClickListener() {
33+
@Override
34+
public void onClick(View v) {
35+
try {
36+
double x2Double = Double.parseDouble(x2.getText().toString());
37+
double xDouble = Double.parseDouble(x.getText().toString());
38+
double constantDouble = Double.parseDouble(constant.getText().toString());
39+
40+
result.setText(Functions.findStuff(x2Double, xDouble, constantDouble));
41+
42+
} catch (NumberFormatException e) {
43+
AlertDialog.Builder errorDialog = new AlertDialog.Builder(TrinomialActivity.this);
44+
errorDialog.setTitle("Incompatible numbers");
45+
errorDialog.setMessage("Please enter compatible numbers");
46+
errorDialog.setCancelable(false);
47+
errorDialog.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
48+
@Override
49+
public void onClick(DialogInterface dialog, int which) {
50+
Intent main = new Intent(TrinomialActivity.this, MainActivity.class);
51+
startActivity(main);
52+
}
53+
});
54+
55+
AlertDialog error = errorDialog.create();
56+
error.show();
57+
}
58+
}
59+
});
60+
}
61+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools"
4+
android:layout_width="match_parent"
5+
android:layout_height="match_parent"
6+
android:paddingBottom="@dimen/activity_vertical_margin"
7+
android:paddingLeft="@dimen/activity_horizontal_margin"
8+
android:paddingRight="@dimen/activity_horizontal_margin"
9+
android:paddingTop="@dimen/activity_vertical_margin"
10+
tools:context="com.a4wieders.algebraandbeyond.QuadraticActivity"
11+
android:background="#00ff22">
12+
13+
<LinearLayout
14+
android:orientation="vertical"
15+
android:layout_width="match_parent"
16+
android:layout_height="match_parent">
17+
18+
<LinearLayout
19+
android:orientation="horizontal"
20+
android:layout_width="match_parent"
21+
android:layout_height="wrap_content" >
22+
23+
<TextView
24+
android:layout_width="90dp"
25+
android:layout_height="wrap_content"
26+
android:textAppearance="?android:attr/textAppearanceLarge"
27+
android:text="X^2"
28+
android:id="@+id/textView5"
29+
android:textAlignment="center"
30+
android:textColor="#000000" />
31+
32+
<EditText
33+
android:layout_width="fill_parent"
34+
android:layout_height="wrap_content"
35+
android:ems="10"
36+
android:id="@+id/x2Quad"
37+
android:hint="X^2"
38+
android:backgroundTint="#000000"
39+
android:textColor="#000000"
40+
android:inputType="text"
41+
android:selectAllOnFocus="true" />
42+
</LinearLayout>
43+
44+
<LinearLayout
45+
android:orientation="horizontal"
46+
android:layout_width="match_parent"
47+
android:layout_height="wrap_content" >
48+
49+
<TextView
50+
android:layout_width="90dp"
51+
android:layout_height="wrap_content"
52+
android:textAppearance="?android:attr/textAppearanceLarge"
53+
android:text="X "
54+
android:id="@+id/textView6"
55+
android:textAlignment="center"
56+
android:textColor="#000000" />
57+
58+
<EditText
59+
android:layout_width="fill_parent"
60+
android:layout_height="wrap_content"
61+
android:ems="10"
62+
android:id="@+id/xQuad"
63+
android:hint="X"
64+
android:backgroundTint="#000000"
65+
android:textColor="#000000"
66+
android:inputType="text"
67+
android:selectAllOnFocus="true" />
68+
</LinearLayout>
69+
70+
<LinearLayout
71+
android:orientation="horizontal"
72+
android:layout_width="match_parent"
73+
android:layout_height="wrap_content" >
74+
75+
<TextView
76+
android:layout_width="90dp"
77+
android:layout_height="wrap_content"
78+
android:textAppearance="?android:attr/textAppearanceLarge"
79+
android:text="Constant"
80+
android:id="@+id/textView7"
81+
android:textAlignment="center"
82+
android:textColor="#000000" />
83+
84+
<EditText
85+
android:layout_width="fill_parent"
86+
android:layout_height="wrap_content"
87+
android:ems="10"
88+
android:id="@+id/constQuad"
89+
android:hint="Constant"
90+
android:backgroundTint="#000000"
91+
android:textColor="#000000"
92+
android:inputType="text"
93+
android:selectAllOnFocus="true" />
94+
</LinearLayout>
95+
96+
<Button
97+
android:layout_width="wrap_content"
98+
android:layout_height="wrap_content"
99+
android:text="Calculate"
100+
android:id="@+id/calcBtnQuad"
101+
android:layout_gravity="center_horizontal" />
102+
103+
<TextView
104+
android:layout_width="wrap_content"
105+
android:layout_height="wrap_content"
106+
android:textAppearance="?android:attr/textAppearanceLarge"
107+
android:id="@+id/resultLblQuad"
108+
android:layout_gravity="center_horizontal"
109+
android:textAlignment="center" />
110+
</LinearLayout>
111+
</RelativeLayout>

0 commit comments

Comments
 (0)