Soru & Cevap

Java bir sayının kaç kez girildiğini gösteren program ? ...

03.03.2017 - 05:28

merhabalar 
javada bir sayının kaç kez girildiğini bulan program hakkında yardım istiyorum

Örneğin
girdiğim sayılar sırasıyla :
1
2
4
1
2
Çıktı ise şu şekilde olmalı
1 sayısı 2 kez girilmiştir
2 sayısı 2 kez girilmiştir
4 sayısı 1 kez girilmiştir

nasıl yapacağım hakkında yardımlarınızı bekliyorum
şimdiden teşekkürler. 

2,762 Görüntülenme

4 Cevap

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

Profile picture for user vma
vma
28.10.2022 - 03:22
import java.util.Scanner;
import java.util.Arrays;


public class Main {
    public static void main(String[] args) {
        System.out.print("Dizinin boyutu  : ");
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();

        int[] list = new int[n];
        int[] list2 = new int[n];

        for (int i = 0; i < list.length; i++) {
            System.out.print((i + 1) + ". Elemanı giriniz : ");
            list[i] = input.nextInt();
        }
        Arrays.sort(list);
        System.out.println("Dizi  : " + Arrays.toString(list));

        int repeatedNumber = 0;
        for (int r : list) {
            int a = 0;
            for (int j = 0; j < list.length; j++) {
                if (r == list2[j]) {
                    a++;
                }
            }
            if (a == 0) {
                int counter = 0;
                for (int i : list) {
                    if (r == i) {
                        counter++;
                    }
                }
                list2[repeatedNumber] = r;
                repeatedNumber++;
                System.out.println(r + " sayısından " + counter + " tane var ");
            }
        }
    }
}

Aynı zamanda dize elemanlarını sıralar.

Profile picture for user ahmetdmr
ahmetdmr
28.11.2021 - 07:18

Kod güzelde Hocam İç İçe 2 tane for kullandığımız için çalışma zamanını fazla yaparız Tek for kullanarak yapamazmıyız bu  algoritmayı 

Profile picture for user ahmetçümen
ahmetçümen
04.03.2017 - 12:43

Merhaba Ulaş, istediğin kod bu olmalı, anlamadığın yerleri sorabilirsin.
İyi Çalışmalar.


package javaapplication1;

import java.util.Scanner;


public class GirilenSayisi {
    public static void main(String[] args) {
        int n;
         System.out.println("Kaç Tane sayı gireceksin = ");
         Scanner input = new Scanner(System.in);
         int sayiSayisi = input.nextInt();
         int sayiDizisi[ ] = new int [ sayiSayisi ]; 
         int bakildimi[ ] = new int [ sayiSayisi ]; 
         for (int i = 0; i < sayiSayisi; i++) {
             System.out.println((i+1) + ". Sayıyı gir = > ");
             sayiDizisi[i] = input.nextInt();
             
        }
         int bakilansayi = 0;
         for (int i = 0; i < sayiSayisi; i++) {
             int a = 0;
             for (int j = 0; j < sayiSayisi; j++) {
                 if(sayiDizisi[i]==bakildimi[j])
                 {
                     a++;
                 }
             }
             if(a == 0 )
             {
                 int sayiAdedi = 0;
                 for (int t = 0; t < sayiSayisi; t++) {
                     if(sayiDizisi[i]== sayiDizisi[t])
                     {
                         sayiAdedi ++;
                     }
                 }
                 bakildimi[bakilansayi] = sayiDizisi[i];
                 bakilansayi ++;
                 System.out.println(sayiDizisi[i] + " Sayısından " + sayiAdedi + " tane var ");
                 
                     
             }
        }
       
         
         
         
        
      }
   
}

Ekran Çıktısı:

Kaç Tane sayı gireceksin =  6


1. Sayıyı gir = > 3
2. Sayıyı gir = > 2
3. Sayıyı gir = > 2
4. Sayıyı gir = > 3
5. Sayıyı gir = > 1
6. Sayıyı gir = > 4


3 Sayısından 2 tane var 
2 Sayısından 2 tane var 
1 Sayısından 1 tane var 
4 Sayısından 1 tane var 

Ulaş Yılmaz
04.03.2017 - 09:49
Teşekkürler Ahmet bu şekilde yapmak istiyordum bende. kodları inceledim ve anlaşılmayacak bişey yok eline sağlık :)
picture-87288-1481814981.jpg
aliosmanküçükk…
03.03.2017 - 08:21

Görsel kaldırıldı.

Test Class:

package com.aokdev.aokgame_1;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

public class test extends AppCompatActivity {

    EditText editText;
    Button buttonAdd;
    ListView listView;
    List<Integer> adet = new ArrayList<Integer>();
    List<Integer> hafiza = new ArrayList<Integer>();
    ArrayList<veri> array = new ArrayList<veri>();
    myAdapter adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);

        editText = (EditText)findViewById(R.id.editTextNumber);
        buttonAdd = (Button)findViewById(R.id.buttonAdd);
        listView = (ListView)findViewById(R.id.list);
        adapter = new myAdapter(getApplicationContext(),
                R.layout.icerik);

        listView.setAdapter(adapter);


        buttonAdd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int neresinde =0;
                if(!"".equals(String.valueOf(editText.getText())))
                {
                    int gelen = Integer.parseInt(String.valueOf(editText.getText()));

                    boolean varMi = false;

                    for(int i=0;i<hafiza.size();i++)
                    {
                        if(hafiza.get(i) == gelen)
                        {
                            varMi = true;
                            neresinde = i;
                        }
                    }
                    if(varMi)
                    {
                        int aktar = adet.get(neresinde);
                        adet.set(neresinde, aktar+1);
                        String ss = String.valueOf(hafiza.get(neresinde)) + " sayısından "+ String.valueOf(adet.get(neresinde)) + " adet girildi";
                        adapter.update(neresinde, ss);
                    }
                    else
                    {
                        hafiza.add(gelen);
                        adet.add(1);
                        String ss = String.valueOf(hafiza.get(hafiza.size()-1)) + " sayısından "+ String.valueOf(adet.get(adet.size()-1)) + " adet girildi";
                        adapter.add(new veri(ss));
                    }

                }
                else
                {
                   //Toast.makeText(getApplicationContext(), "Veri Girmediniz", Toast.LENGTH_SHORT).show();
                }
                listView.setAdapter(adapter);


            }
        });


    }


    public class veri
    {
        public String data;

        public veri(String data)
        {
            this.data = data;
        }
        public void setData(String data) {
            this.data = data;
        }

        public String getData() {
            return data;
        }
    }

    public class myAdapter extends ArrayAdapter<veri>
    {

        Context context;
        List<veri> l = new ArrayList<veri>();
        public myAdapter(Context context, int resource) {
            super(context, resource);
            this.context = context;
        }

        public void update(int possiton, String object)
        {
            l.get(possiton).data = object;
        }

        @Override
        public veri getItem(int position) {
            return l.get(position);
        }

        @Override
        public void add(veri object) {
            super.add(object);
            l.add(object);
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            LayoutInflater inflater = (LayoutInflater)this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View rowView= inflater.inflate(R.layout.icerik, null, true);

            veri v = l.get(position);

            TextView textView = (TextView)rowView.findViewById(R.id.textView);
            textView.setText(String.valueOf(v.data));
            //Toast.makeText(context, v.data , Toast.LENGTH_SHORT).show();
            return rowView;
        }
    }


}

activity_test.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_test"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.aokdev.aokgame_1.test">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="number"
            android:ems="10"
            android:id="@+id/editTextNumber" />

        <Button
            android:text="Add"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/buttonAdd" />

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/list" />

    </LinearLayout>
</RelativeLayout>

icerik.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:text="TextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView"
        android:textColor="@android:color/black"
        android:textSize="16sp" />
</LinearLayout>

 

 

 

İçinden sana lazım olan java kısmını alabilirsin =) işini gördüyse doğru cevap olarak işaretlemeyi unutma. İyi çalışmalar.

Ulaş Yılmaz
03.03.2017 - 09:00
kardeşim bu kodlardan anlamadım :) ben for döngüsü ve dizi kullanarak yapmayı düşünüyordum. android üzerinden çalışmıyorum. şuan javayı öğrenmeye çalışıyorum zahmet olmassa eclipse veya netbeans üzerinden list yapısı kullanmadan yazabileceğim kodları yazarmısın. internette araştırdım ama bulamıyorum. şimdiden teşekkür ederim
aliosman küçükkaraaslan
04.03.2017 - 12:50
bilgisayarımda eclipse ve netbeans yüklü değil de işin görülsün diye burdan yapmıştım =D Ahmet arkadaşımız saolsun halletmiş =) iyi çalışmalar
Ulaş Yılmaz
04.03.2017 - 09:48
Yinede teşekkür ederim zahmet verdim :)