Soru & Cevap

Java ArrayList Dosya işlemleri

08.05.2020 - 01:11

Tekrardan merhabalar kendimi geliştirmeye devamm ediyorum ve takıldıklarımı buraya soruyorum ve sizde çok şükür yardım ediyorsunuz.Bugünkü sorun aşşağıdaki gibidir ço fazla kalıplı istediği için kafamı karıştıran metodlar var yardımcı olursanız sevinirim...

Şu işlemleri yapan bir Java main metodu yazınız:

 "double" değerler içerecek bir ArrayList yaratılacaktır.

 sayilarOku() isimli bir statik metodu çağırarak deneme.txt dosyasındaki sayıların yaratılan ArrayList'e konmasını sağlayacaktır.

 alYaz() isimli bir metod kullanarak ArrayList elemanlarını her satırda 10 tane olacak ve aralarında bir boşluk olacak şekilde yazdıracaktır.

 alToplam() metodunu çağırarak ArrayList'teki sayıların toplamını alacaktır.

 Sayıların toplamını ve ortalamasını yazdıracaktır. main() metodu: public static void main (String[] args) throws IOException { .... } Programınızda main() metodunun altında şu metodları yazınız:

sayilarOku() metodu parametre olarak bir dosya adı ve bir ArrayList alır, dosyadaki ondalıklı sayıları okuyup ArrayList'e koyar. private static void sayilarOku(String dosyaAd, ArrayList sayilar) throws IOException { .... }

alYaz() metodu parametre olarak double değerler içeren bir ArrayList dizisi alır ve her elemandan sonra bir boşluk koyarak her satırda 10 tane sayı olacak şekilde yazdırır. private static void alYaz(ArrayList sayilar) { .... }

alToplam () metodu parametre olarak double değerler içeren bir ArrayList dizisi alır ve ArrayList'teki sayıların toplamını döndürür. private static double alToplam(ArrayList sayilar) { .... }

Örnek çıktı: Sayilar: 93.36 51.18 18.03 36.18 51.62 40.25 74.12 38.52 98.15 28.45 45.8 54.5 45.06 17.42 61.17 14.16 71.43 89.12 38.09 52.09 Toplam: 1018.70 Ortalama: 50.93

650 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-285937-1606688513.png
01burkatan01
08.05.2020 - 07:44

Söylediğiniz şeyler pek çok işlem içeriyor ve yeni başladım dediğiniz için  hangisinde takıldığınızı ve hangisine dökümantasyon atacağımı şaşırdım doğrusu :)

Dosya işlemleri için file reader ve writer inceleyebilirsiniz

https://docs.oracle.com/javase/7/docs/api/java/io/File.html

https://docs.oracle.com/javase/7/docs/api/java/io/FileReader.html

https://docs.oracle.com/javase/7/docs/api/java/io/FileWriter.html

 

Ayriyeten double içeren Arraylistin ortalama ve toplamı

 double toplam = 0, ortalama;
        ArrayList<Double> list = new ArrayList<>();
        // Listeye eleman eklemeleri yap
        for (double temp : list) {
            toplam += temp;
        }
        ortalama = toplam / list.size();
        System.out.println(toplam);
        System.out.println(ortalama);

 

Yeni başladıysanız algoritmik olarak takılabilme ihtimaline karşın Arraylisti 10 ar 10 ar boşluklu bastıran metod

 public static void alyaz(ArrayList<Integer> list){
        int sayac = 0;

        for (int i = 0; i<list.size(); i++){
            if (sayac<10){
                System.out.print(list.get(i)+" ");
                sayac++;
            }else {
                System.out.println();
                i--;
                sayac = 0;
            }
        }

    }

 

Mesela programlama mantığınızın daha iyi oturması açısından bu metodu sadece while, for ve while, do while kullanarak yaptırmayı deneyebilirsiniz

Ayrıca sayılarOku metodu  throws IOException yazmışsınız. Hataları metod veya classlarla bu şekilde fırlatmak yerine try catch kullanmanız daha sağlıklı bir yol olur.

Ceren Yavuz"
09.05.2020 - 12:24
Çok teşekkür ederim yaa baya yardımcı oldu .
Profile picture for user .tire.
.tire.
08.05.2020 - 03:49
Yapıcı metotlar ile çalışmadın mı java class oluştur class adı yapıcı metot adı ile aynı olacak yani ana metodu diyelim onun altına iş yapacak 3 tane metot oluştur yaz oku topla metotları. Bunlari okuma get() yazma set olarak belirt geriye değer dondursun return sonra ana activity üzerinde model kalıbını çağır metotları ile işlem yap
Ceren Yavuz"
08.05.2020 - 04:12
Yok zaten daha önce Java da kullanmadım yeni yeni öğrenmeye başladığım için bi tık karmaşık geliyor fakat uğraşıyorum daha yapamadım
Burak Kaan Tanrıverdi
08.05.2020 - 07:49
Başlangıç için class yapılarına girmeden önce algoritmik düşünceyi oturtabilmek, değişken tanımlamada ve metod yazmada problem yaşamamak gerekir.
picture-286288-1588849434.png
bd41
08.05.2020 - 03:24

Merhaba...

Sorduğunuz soru hakkında bulduğum linkler;

https://stackoverflow.com/questions/17481206/java-arraylist-of-doubles/17481222

https://www.algoritmaornekleri.com/java/java-arraylist-kullanimi/

http://www.abdullahfurkankoc.com/arraylistkullanimi/

 

Bu linklersen konuları , örnek çalışmaları veya metodları öğrenebilirsiniz. İyi çalışmalar.

Ceren Yavuz"
08.05.2020 - 04:11
Teşekkürler ilettiğiniz kaynaklara bakacağım...