Java Android Studio'da hesap makinesi yapımı

  • Konuyu başlatan 541027
  • Başlangıç Tarihi
  • Mesaj 4
  • Görüntüleme 1.483

541027

Decapat
Katılım
28 Nisan 2022
Mesajlar
933
Makaleler
2
Çözümler
7
R.id.sonuc_text) kısmı sürekli kırmızı yanıyor, anlamadım .Kütüpane kullanarak yapıyorum fakat kütüpahaneyi görmüyor mu yoksa kodumda mı sorun var anlamıyorum,android studyoda java ile yazıyorum.

Kod:
package com.canerorak.HesapMakinem;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {
    EditText editText;

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

        editText = findViewById(R.id.sonuc_text); /*(R.id.sonuc_text) kısmı sürekli kırmızı yanıyor anlamadım*/
        editText.setShowSoftInputOnFocus(false);
    }

    public void Yazdir(View view) {
        switch (view.getId()) {
            case R.id.button_temizle:editText.setText("");
                break;
            case R.id.button_dot:EkranYazdir(".");
                break;
            case R.id.button_0:EkranYazdir("0");
                break;
            case R.id.button_1:EkranYazdir("1");
                break;
            case R.id.button_2:EkranYazdir("2");
                break;
            case R.id.button_3:EkranYazdir("3");
                break;
            case R.id.button_4:EkranYazdir("4");
                break;
            case R.id.button_5:EkranYazdir("5");
                break;
            case R.id.button_6:EkranYazdir("6");
                break;
            case R.id.button_7:EkranYazdir("7");
                break;
            case R.id.button_8:EkranYazdir("8");
                break;
            case R.id.button_9:EkranYazdir("9");
                break;
            case R.id.button_divide:EkranYazdir("/");
                break;
            case R.id.button_plus:EkranYazdir("+");
                break;
            case R.id.button_minus:EkranYazdir("-");
                break;
            case R.id.button_sil:Sil();
                break;
            case R.id.button_equal:Sonuc();
                break;
        }
    }

    private void Sil() {
        int cursorPos = editText.getSelectionStart();
        if (cursorPos > 0) {
            String eskiDeger = editText.getText().toString();
            String solTaraf = eskiDeger.substring(0, cursorPos - 1);
            String sagTaraf = eskiDeger.substring(cursorPos);
            String yeniDeger = solTaraf + sagTaraf;
            editText.setText(yeniDeger);
            editText.setSelection(cursorPos - 1);
        }
    }

    private void Sonuc() {
        String yazı = editText.getText().toString();
        try {
            double sonuc = hesapla(yazı);
            editText.setText(String.valueOf(sonuc));
            editText.setSelection(editText.getText().length());
        } catch (Exception e) {
            editText.setText("Hatalı İfade");
        }
    }

    private void EkranYazdir(String deger) {
        int cursorPos = editText.getSelectionStart();
        String eskiDeger = editText.getText().toString();
        String solTaraf = eskiDeger.substring(0, cursorPos);
        String sagTaraf = eskiDeger.substring(cursorPos);
        String yeniDeger = solTaraf + deger + sagTaraf;
        editText.setText(yeniDeger);
        editText.setSelection(cursorPos + 1);
    }
}
 
İnternetteki kaynaklar eşliğinde yazıyorum, normalde C#'ta yazıyorum fakat bu projeyi yapan çoğunluk Java kullandığı için Java ile yazdım.
Merhaba mobil uygulama dersi alıyorum ve derste java kullanılacak. Her kaynak kotlin üzerinden anlatmış ve projeyi oluştururken kotlin seçeneği çıkıyor sadece. Sonradan kendim dili javaya çevirmeye çalışıyorum ama sürekli hata veriyor, dili nasıl java olarak ayarladınız?
 

Technopat Haberler

Geri
Yukarı