[ gojic @ 02.01.2017. 14:25 ] @
Pozdrav svima, pokusavam da napravim svoju android aplikaciju.Malu android aplikaciju. O cemu se radi...dakle aplikacija oponasa meni iz restorana, kad korisnik cekira dorucak, nprm slanina i jaja, unese svoje ime aplikacija ponovi na ekranu te informacije. Ukoliko on zeli da uzme dva razlicita dorucka, aplikacija,naravno,sabere cene i ispise na ekranu. Code: private int calculatePrice(boolean firstBreakfest, boolean secondBreakfest, boolean thirdBreakfest) { int price = 0; if (firstBreakfest && secondBreakfest){ price = priceDish1 + priceDish2; } else if(firstBreakfest){ price = priceDish1; } else if(secondBreakfest){ price = priceDish2; } else if (thirdBreakfest){ price = priceDish3; } return price; } Ali sta ako korisnik hoce da izabere vise razlicitih jela, ne mogu u nedogled da dodajem ifpetlju.Ili,ipak,mogu? Sve u svemu kod mi izgleda odvratno ovako sa brdo ifpetlji. Koristim boolean, kada je zeljeni dorucak cekiran on prikazuje cenu i pratecu poruku. e sad gde sam zapeo...u principu nisam ni zapeo,nego me zanima da li postoji laksi i, na oko lepsi, nacin da izracunam vise varijabli? Moj kod radi sasvim ok ali mi jako ruzno izgleda da imam na desetine if petlja. Probao sam da koristim switch/case ali ne moze sa boolean.E sad ne znam da li moze sa listama nesto da se uradi? Ovako mi za sada aplikacija izgleda http://i.imgur.com/6ukHSOQ.png[att_img] Kod aplikacije: JAVA Code: public class MainActivity extends AppCompatActivity { int quantity = 1; public int priceDish1 = 320; //egs and bacon public int priceDish2 = 125; //omelet public int priceDish3 = 200; //pancakes @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void submitOrder(View view) { CheckBox checkedBox = (CheckBox) findViewById(R.id.dish1); boolean firstBreakfest = checkedBox.isChecked(); CheckBox checkedBox2 = (CheckBox) findViewById(R.id.dish2); boolean secondBreakfest = checkedBox2.isChecked(); CheckBox checkBox3 = (CheckBox) findViewById(R.id.dish3); boolean thirdBreakfest = checkBox3.isChecked(); EditText editText = (EditText) findViewById(R.id.name_of_user); String nameOfUser = editText.getText().toString(); int price = calculatePrice(firstBreakfest, secondBreakfest,thirdBreakfest); String message = orderSummary(price, firstBreakfest, nameOfUser, secondBreakfest); displayMessage(message); } private int calculatePrice(boolean firstBreakfest, boolean secondBreakfest, boolean thirdBreakfest) { int price = 0; if (firstBreakfest && secondBreakfest){ price = priceDish1 + priceDish2; } else if(firstBreakfest){ price = priceDish1; } else if(secondBreakfest){ price = priceDish2; } else if (thirdBreakfest){ price = priceDish3; } return price; } private String orderSummary(int price, boolean firstBreakfest, String nameOfUser, boolean secondBreakfest) { String dish1 = "Beacon and eggs"; String dish2 = "Omelet"; String message ="Your name: " + nameOfUser; message = message + "\nPrice: " + price + " rsd"; if(firstBreakfest && secondBreakfest){ message = message + "\nYour ordered " + dish1 + " and " + dish2; } else if (firstBreakfest) { message = message + "\nYou ordered " + dish1; } else if (secondBreakfest) { message = message + "\nYou ordered " + dish2; } return message; } private void displayMessage(String message) { TextView priceTextView = (TextView) findViewById(R.id.order_summary); priceTextView.setText(message); } } Planiram da dodam jos jela, pa mi zato ovo pravi problem. XML nisam stavio kontam da je nepotreban,ali ako pomaze stavicu kasnije. Hvala svima. [Ovu poruku je menjao gojic dana 02.01.2017. u 18:15 GMT+1] |