Hallo ,
ich will ein Programm, mit dem man Porto Gebuehren berechnen kann machen.
Der erste Abschnitt also der preis fuer LOW_WEIGHT_SAME_STATE_FEE; und LOW_WEIGHT_INTERSTATE_FEE; funktioniert.
Mein Problem ist, das ich per else einfuegen will, wie hoch die Portogebuehren fuer ueber LOW_WEIGHT ist. (Das Problem beginnt ab dem dritten else.)
Danke im vorraus .
Java:
Double.parseDouble(txtWeight.getText());if(weight <0){
txtStatus.setText("weight has to be positive");}else{if(( destinationNo == fares[0])||(destinationNo == fares[1])){if(weight<= LOW_WEIGHT)if(rbtSameState.isSelected()){
postage = LOW_WEIGHT_SAME_STATE_FEE;}else{
postage=LOW_WEIGHT_INTERSTATE_FEE;}}else{if(rbtSameState.isSelected()){
postage= HI_WEIGHT_SAME_STATE_FEE;}else{
postage=HI_WEIGHT_INTERSTATE_FEE;}}}
txtPostage.setText(postage+"$");
Es wird immer nur LOW_WEIGHT_SAME_STATE_FEE; oder LOW_WEIGHT_INTERSTATE_FEE; angezeigt, (je nachdem ob rbtSameState angeklickt wurde). ab else if { das ja eine hoehere Summe in postage zeigen soll, wenn das Gewicht nicht weniger oder gleich LOW_WEIGHT ist wird wieder LOW_WEIGHT_SAME_STATE_FEE; oder LOW_WEIGHT_INTERSTATE_FEE; angezeigt.
wenn du moechtest, hier ist der komplette code.
Danke fuer deine hilfe
Java:
finaldouble LOW_WEIGHT_SAME_STATE_FEE=5;finaldouble LOW_WEIGHT_INTERSTATE_FEE=10;finaldouble HI_WEIGHT_SAME_STATE_FEE=8;finaldouble HI_WEIGHT_INTERSTATE_FEE=12;finaldouble LOW_WEIGHT=2;String[] destinations ={"Australia - Capital City","Australia - Country","Overseas"};int[]fares={0,1,2};int destinationNo= cbxDestination.getSelectedIndex();String destination= destinations[destinationNo];int fare =fares [destinationNo];double postage=0;double weight=0;Double.parseDouble(txtWeight.getText());if(weight <0){
txtStatus.setText("weight has to be positive");}else{if(( destinationNo == fares[0])||(destinationNo == fares[1])){if(weight<= LOW_WEIGHT){if(rbtSameState.isSelected()){
postage = LOW_WEIGHT_SAME_STATE_FEE;}else{
postage=LOW_WEIGHT_INTERSTATE_FEE;}}elseif(rbtSameState.isSelected()){
postage= HI_WEIGHT_SAME_STATE_FEE;}else{
postage=HI_WEIGHT_INTERSTATE_FEE;}}}
txtPostage.setText(postage+"$");
Habe mich gerade etwas schwer getan die zusammenhänge zu finden aber es liegt auf jeden Fall an den Bedingungen. Eigentlich sollte das kein problem sein wenn du dir den link anschaust den ich dir gepostet habe.
Double.parseDouble( txtWeight.getText());if( weight <0){
txtStatus.setText("weight has to be positive");}// hier würde dann auch ein 'else' reichen, da keine weiteren Abfragen kommen !!elseif((destinationNo == fares[0])||(destinationNo == fares[1])){if( weight<= LOW_WEIGHT ){if( rbtSameState.isSelected()){
postage = LOW_WEIGHT_SAME_STATE_FEE;}else{
postage=LOW_WEIGHT_INTERSTATE_FEE;}}else{if( rbtSameState.isSelected()){
postage= HI_WEIGHT_SAME_STATE_FEE;}else{
postage=HI_WEIGHT_INTERSTATE_FEE;}}}
txtPostage.setText(postage+"$");
Sieht sonst auf den ersten Blick erstmal ganz gut aus! Mehr kann mal ohne weitere Infos nicht sagen!
Womit hast Du denn nun ein konkretes Problem ???:L