
ui_3k1
Gesperrt
- 197
Hey Leute,
ich habe einen .java Code, den man bestimmt noch etwas kürzen könnte, sprich mit Funktionen zusammenfassen kann.
Es ist eine Art Taschenrechner für Brüche, derzeit lege ich bei jedem onClickListener die Variablen zu Beginn neu an, das kann wahrscheinlich optimiert werden... Allerdings habe ich mit Java noch nicht so viel Erfahrung, als dass ich wüsste, wie man das am besten realisiert.
Ich habe mal den "Plus"- und den "Minus"-Button als Code beigefügt.
Danke vorab!
Martin
ich habe einen .java Code, den man bestimmt noch etwas kürzen könnte, sprich mit Funktionen zusammenfassen kann.
Es ist eine Art Taschenrechner für Brüche, derzeit lege ich bei jedem onClickListener die Variablen zu Beginn neu an, das kann wahrscheinlich optimiert werden... Allerdings habe ich mit Java noch nicht so viel Erfahrung, als dass ich wüsste, wie man das am besten realisiert.
Ich habe mal den "Plus"- und den "Minus"-Button als Code beigefügt.
Code:
public class Calc extends Activity {
EditText z1Calc, n1Calc, z2Calc, n2Calc;
TextView tvZerg, tvNerg, tvUpperLvl, tvDwnLvl, tvOpera;
Button bAdd, bSubt, bMulti, bDivi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calc);
bAdd = (Button) findViewById(R.id.bPlus);
bSubt = (Button) findViewById(R.id.bMinus);
bMulti = (Button) findViewById(R.id.bMul);
bDivi = (Button) findViewById(R.id.bDiv);
z1Calc = (EditText) findViewById(R.id.gz1);
n1Calc = (EditText) findViewById(R.id.gn1);
z2Calc = (EditText) findViewById(R.id.gz2);
n2Calc = (EditText) findViewById(R.id.gn2);
tvOpera = (TextView) findViewById(R.id.opC);
tvZerg = (TextView) findViewById(R.id.outZ);
tvNerg = (TextView) findViewById(R.id.outN);
bAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String giveZ1;
String giveN1;
String giveZ2;
String giveN2;
int giveIntZ1, giveIntN1, giveIntZ2, giveIntN2;
int solvedZ, solvedN;
giveZ1 = z1Calc.getText().toString();
giveN1 = n1Calc.getText().toString();
giveZ2 = z2Calc.getText().toString();
giveN2 = n2Calc.getText().toString();
if (z1Calc.getText().toString().length() == 0) {
return;
}
if (n1Calc.getText().toString().length() == 0) {
return;
}
if (z2Calc.getText().toString().length() == 0) {
return;
}
if (n2Calc.getText().toString().length() == 0) {
return;
}
giveIntZ1 = Integer.parseInt(giveZ1);
giveIntN1 = Integer.parseInt(giveN1);
giveIntZ2 = Integer.parseInt(giveZ2);
giveIntN2 = Integer.parseInt(giveN2);
solvedZ = (giveIntZ1 * giveIntN2) + (giveIntN1 * giveIntZ2);
solvedN = (giveIntN1 * giveIntN2);
Euklid varadd = new Euklid();
int k = varadd.cancelDown(solvedZ, solvedN);
solvedZ /= k;
solvedN /= k;
tvOpera.setText("+");
tvZerg.setText(String.valueOf(solvedZ));
tvNerg.setText(String.valueOf(solvedN));
}
});
bSubt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String giveZ1;
String giveN1;
String giveZ2;
String giveN2;
int giveIntZ1, giveIntN1, giveIntZ2, giveIntN2;
int solvedZ, solvedN;
giveZ1 = z1Calc.getText().toString();
giveN1 = n1Calc.getText().toString();
giveZ2 = z2Calc.getText().toString();
giveN2 = n2Calc.getText().toString();
if (z1Calc.getText().toString().length() == 0) {
return;
}
if (n1Calc.getText().toString().length() == 0) {
return;
}
if (z2Calc.getText().toString().length() == 0) {
return;
}
if (n2Calc.getText().toString().length() == 0) {
return;
}
giveIntZ1 = Integer.parseInt(giveZ1);
giveIntN1 = Integer.parseInt(giveN1);
giveIntZ2 = Integer.parseInt(giveZ2);
giveIntN2 = Integer.parseInt(giveN2);
solvedZ = (giveIntZ1 * giveIntN2) - (giveIntN1 * giveIntZ2);
solvedN = (giveIntN1 * giveIntN2);
if (solvedZ < 0 || solvedN < 0) {
tvOpera.setText("-");
tvZerg.setText(String.valueOf(solvedZ));
tvNerg.setText(String.valueOf(solvedN));
return;
}
Euklid varsub = new Euklid();
int k = varsub.cancelDown(solvedZ, solvedN);
solvedZ /= k;
solvedN /= k;
tvOpera.setText("-");
tvZerg.setText(String.valueOf(solvedZ));
tvNerg.setText(String.valueOf(solvedN));
}
});
Danke vorab!
Martin