- Forum-Beiträge: 5
24.09.2012, 20:11:33 via Website
24.09.2012 20:11:33 via Website
bin neu hier und habe erst vor ein paar Tagen mit der Android-App Programmierung angefagen. Meine erste App, soll mir eine Durchschnittsnote ausrechnen.
Dazu habe ich 4 .xml Seiten angefertigt, die nacheinander aufgerufen werden, das funktioniert auch schon. Auf jeder Seite sind Fächer angegeben, dort kann man die Noten in ein Textfeld eintragen. Auf der letzten Seite ist ein Button, mit dem man seine Durchschnittsnote berechnen kann.
Die Berechnung funktioniert auch, wenn man überall eine Note eingetragen hat. Jetzt habe ich allerdings ein Problem damit, wenn jemand eine Klausur nicht mitgeschrieben hat und das Feld freilassen möchte.
Diesen Fall möchte ich dann mit einer IF-Abfrage von meiner Berechnung ausschließen und habe es wie im angezeigten Code versucht. Dort Frage ich nach der Länge des eingegebenen Textes, dieser müsste ja Null sein, wenn nix eingegeben wurde (im Hint Feld steht allerdings etwas, aber das dürfte ja keine Auswirkung haben). Leider stürzt mein Programm ab und ich weiß nicht, wie ich das ganze besser bewerkstelligen soll.
Ich würde mich sehr freuen, wenn mir jemand weiter helfen kann.
Danke und Grüße,
hopsi
2
3import android.os.Bundle;
4import android.app.Activity;
5import android.view.Menu;
6import android.view.View;
7import android.widget.EditText;
8
9public class MainActivity extends Activity {
10
11 @Override
12 public void onCreate(Bundle savedInstanceState) {
13 super.onCreate(savedInstanceState);
14 setContentView(R.layout.activity_main);
15 }
16
17
18 float et1, mathe1, kon, et2, mathe2, digi, prog, wet, physik;
19 int div=17;
20
21
22 public void semester1klick (View view) {
23 setContentView(R.layout.semester1);
24
25 }
26
27
28
29 public void semester2klick (View view) {
30
31
32
33
34 EditText Feld1 = (EditText)findViewById(R.id.et1);
35 EditText Feld2 = (EditText)findViewById(R.id.mathe1);
36 EditText Feld3 = (EditText)findViewById(R.id.kon);
37
38
39 if (Feld1.getText().toString().length() == 0){
40 div=div-2;
41
42 }
43 if (Feld2.getText().toString().length() == 0){
44 div=div-2;
45
46
47 }
48 if (Feld3.getText().toString().length() == 0){
49 div=div-1;
50
51
52 }
53
54 et1 = Float.parseFloat(Feld1.getText().toString());
55 mathe1 = Float.parseFloat(Feld2.getText().toString());
56 kon = Float.parseFloat(Feld3.getText().toString());
57
58
59 setContentView(R.layout.semester2);
60
61
62
63
64 }
65
66 public void semester3klick (View view) {
67
68 EditText Feld4 = (EditText)findViewById(R.id.et2);
69 EditText Feld5 = (EditText)findViewById(R.id.mathe2);
70 EditText Feld6 = (EditText)findViewById(R.id.digi);
71 EditText Feld7 = (EditText)findViewById(R.id.prog);
72 EditText Feld8 = (EditText)findViewById(R.id.wet);
73 EditText Feld9 = (EditText)findViewById(R.id.physik);
74
75
76
77
78 if (Feld4.getText().toString().length() == 0){
79 div=div-1;
80
81 }
82 if (Feld5.getText().toString().length() == 0){
83 div=div-1;
84
85 }
86 if (Feld6.getText().toString().length() == 0){
87 div=div-1;
88
89 }
90 if (Feld7.getText().toString().length() == 0){
91 div=div-1;
92
93 }
94 if (Feld8.getText().toString().length() == 0){
95 div=div-1;
96
97 }
98 if (Feld9.getText().toString().length() == 0){
99 div=div-2;
100
101 }
102
103
104 et2 = Float.parseFloat(Feld4.getText().toString());
105 mathe2 = Float.parseFloat(Feld5.getText().toString());
106 digi = Float.parseFloat(Feld6.getText().toString());
107 prog = Float.parseFloat(Feld7.getText().toString());
108 wet = Float.parseFloat(Feld8.getText().toString());
109 physik = Float.parseFloat(Feld9.getText().toString());
110
111
112
113 setContentView(R.layout.semester3);
114 }
115
116 public void BerechnenKlick (View view){
117 float tele, disi, eg3, mess, energie;
118 float ergebnis;
119
120
121 EditText Feld10 = (EditText)findViewById(R.id.tele);
122 EditText Feld11 = (EditText)findViewById(R.id.disi);
123 EditText Feld12 = (EditText)findViewById(R.id.eg3);
124 EditText Feld13 = (EditText)findViewById(R.id.mess);
125 EditText Feld14 = (EditText)findViewById(R.id.energie);
126
127
128 tele = Float.parseFloat(Feld10.getText().toString());
129 disi = Float.parseFloat(Feld11.getText().toString());
130 eg3 = Float.parseFloat(Feld12.getText().toString());
131 mess = Float.parseFloat(Feld13.getText().toString());
132 energie = Float.parseFloat(Feld14.getText().toString());
133
134 if (Feld10.getText().toString().length() == 0){
135 div=div-1;
136
137 }
138 if (Feld11.getText().toString().length() == 0){
139 div=div-1;
140
141 }
142 if (Feld12.getText().toString().length() == 0){
143 div=div-1;
144
145 }
146 if (Feld13.getText().toString().length() == 0){
147 div=div-1;
148
149 }
150 if (Feld14.getText().toString().length() == 0){
151 div=div-1;
152
153 }
154 EditText FeldErgebnis = (EditText)findViewById(R.id.etErgebnis);
155
156
157
158 ergebnis = (((et1*2) + (mathe1*2) + kon + et2 + mathe2 + digi + prog + wet + (physik*2) + tele + disi + eg3 + mess + energie)/div);
159
160 FeldErgebnis.setText(String.valueOf(ergebnis));
161
162
163 }
164 @Override
165 public boolean onCreateOptionsMenu(Menu menu) {
166 getMenuInflater().inflate(R.menu.activity_main, menu);
167 return true;
168 }
169}
— geändert am 24.09.2012, 20:48:11
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.