如何计算不同的价格

时间:2017-05-26 20:54:43

标签: android

我知道这是一个小而愚蠢的问题但是,虽然我不是Java的初学者,但我仍然处于学习的开端。 我正在制作一个用户可以购买书籍的应用程序。首先,所有价格书都有相同的价格,然后我的“客户”说他想改变一些价格,并搞砸了我的工作流程,我的逻辑和我的代码.... 如何改变。

当用户点击某本书时,他可以填写表格。在该表格中,他将找到一个数量的字段。该应用程序将自动计算最终价格。 我只有代码没有问题...但我无法绕过它。 通常我会伪代码,以便我可以“可视化”我的代码,但在这种情况下,我不能。我不知道为什么这么难...因为可能解决方案很可耻。

这是我的第一本书活动。有七个。这本书的价格是100

     public class PrvaKnjiga extends AppCompatActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.knjiga);

            PDFView pdfView  = (PDFView)findViewById(R.id.pdfView);
            pdfView.fromAsset("loops.pdf").load();
            pdfView.enableSwipe(true);

            FloatingActionButton fab = (FloatingActionButton)findViewById(R.id.myFAB);
            fab.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent prvaKnjigaIntent = new Intent(PrvaKnjiga.this, Narudzbina.class);
                    startActivity(prvaKnjigaIntent);
                }
            });
            FloatingActionButton fabKontakt = (FloatingActionButton) findViewById(R.id.myFAB_kontakt);
            fabKontakt.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Intent.ACTION_DIAL);
                    intent.setData(Uri.parse("tel:" + "+1111111111"));
                    startActivity(intent);
                    Toast.makeText(PrvaKnjiga.this, "Radi", Toast.LENGTH_SHORT).show();

                }

            });
        }

        }

这是我的“订单”活动。我在计算价格。这是第一本书100的价格。但是如何处理其他价格呢?

    public class Narudzbina extends AppCompatActivity {

   String porukaGreska="";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.narudzbina);
    }

    public void kreiranjeNarudzbine(View v) {
        EditText editTextIme = (EditText) findViewById(R.id.ime);
        String imeNarucioca = editTextIme.getText().toString();
        editTextIme.setText(StringUtils.capitalize(imeNarucioca.toLowerCase().trim()));


        EditText editTextPrezime = (EditText) findViewById(R.id.prezime);
        String prezimeNarucioca = editTextPrezime.getText().toString();
        editTextPrezime.setText(StringUtils.capitalize(prezimeNarucioca.toLowerCase().trim()));

        EditText editTelefonNarucioca = (EditText) findViewById(R.id.telefon);
        String telefonNarucioca = editTelefonNarucioca.getText().toString();


        EditText editAdresaNarucioca = (EditText) findViewById(adresa);
        String adresaNarucioca = editAdresaNarucioca.getText().toString();
        editAdresaNarucioca.setText(StringUtils.capitalize(adresaNarucioca.toLowerCase().trim()));


        EditText editGradNarucioca = (EditText) findViewById(R.id.grad);
        String gradNarucioca = editGradNarucioca.getText().toString();
        editGradNarucioca.setText(StringUtils.capitalize(gradNarucioca.toLowerCase().trim()));


        EditText editKolicina = (EditText) findViewById(R.id.kolicina_narucena);
        String narucenaKolicina = editKolicina.getText().toString();
       //  int kolicina = Integer.parseInt(narucenaKolicina);
        int kolicina = 0;
        try {
            kolicina = Integer.parseInt(narucenaKolicina);
        } catch (NumberFormatException e) {
            narucenaKolicina = "";
        }

        int cenaNarudzbine = cena(kolicina);

        String poruka = sumiranjeNarudzbine(imeNarucioca, prezimeNarucioca, telefonNarucioca, adresaNarucioca, gradNarucioca, cenaNarudzbine);
        Intent smsIntent = new Intent(Intent.ACTION_VIEW);
        smsIntent.setType("vnd.android-dir/mms-sms");
        smsIntent.putExtra("address", "+111111111");
        smsIntent.putExtra("sms_body", poruka);

        if(imeNarucioca!=null && imeNarucioca.equals("")){
            Toast.makeText(Narudzbina.this, "Unesite ime", Toast.LENGTH_LONG).show();
        }
        else if(prezimeNarucioca!=null && prezimeNarucioca.equals("")){
            Toast.makeText(Narudzbina.this,"Unesite Prezime", Toast.LENGTH_LONG).show();

        }
        else if(telefonNarucioca!=null && telefonNarucioca.equals("")){
            Toast.makeText(Narudzbina.this,"Unesite kontakt telefon", Toast.LENGTH_LONG).show();
        }
        else if(adresaNarucioca!=null && adresaNarucioca.equals("")){
            Toast.makeText(Narudzbina.this,"Unesite adresu",Toast.LENGTH_LONG).show();
        }
        else if(gradNarucioca!=null && gradNarucioca.equals("")){
            Toast.makeText(Narudzbina.this, "Navedite grad", Toast.LENGTH_LONG).show();
        }
        else if (narucenaKolicina != null && narucenaKolicina.equals("")){
            Toast.makeText(Narudzbina.this, "Navedite zeljenu kolicinu", Toast.LENGTH_LONG).show();
        }
        else{
            startActivity(smsIntent);
        }
    }

    private int cena(int kolicina){
        int cenaKnjige = 100;
        cenaKnjige = kolicina * cenaKnjige;
        return cenaKnjige;
    }

    private String sumiranjeNarudzbine(String imeNarucioca, String prezimeNarucioca, String telefonNarucioca,String adresaNarucioca,String gradNarucioca,int cenaNarudzbine) {
        String poruka = "Ime: " + imeNarucioca;
        poruka = poruka + "\n" + "Prezime: " + prezimeNarucioca;
        poruka = poruka + "\n" + "Broj Telefona: " + telefonNarucioca ;
        poruka = poruka + "\n" + "Adresa Nrucioca: " + adresaNarucioca;
        poruka = poruka + "\n" + "Grad: " + gradNarucioca;
        poruka = poruka + "\n" + "Cena: " + cenaNarudzbine;
        return poruka;
    }

}

1 个答案:

答案 0 :(得分:0)

我无法理解你遇到问题的地方。我已经做了一切。您只需让用户在单击书籍时显示弹出窗口,您将在其中显示两个编辑文本;一个是价格,另一个是数量。当用户输入时,你必须从编辑文本中获取值,并调用方法" cena()",但你必须在参数中添加其他参数以获得价格。您必须添加"提交/完成"弹出窗口中的按钮,然后你必须调用方法" cena()"并传递价格和数量的价值。它将根据您的旧逻辑进行计算。还有一件事你需要替换变量" cenaKnjige"使用用户键入的价格值。 我猜你现在只是累了,有时会发生。休息一下,回到代码中,你就可以解决它。