Kullanıcının girmiş olduğu sayıları textbox’a ekleyen daha sonrada ayır butonuna basıldığı zaman tek ve çift sayıları ayrı ayrı listboxlara ekleyen uygulamayı yapacağız bunun için ilk olarak aşağıdaki ekran görüntüsünü oluşturuyoruz.
<asp:Label ID="Label1" runat="server" Text="Sayı Ekle" Font-Bold="True" Font-Size="Medium" ForeColor="White"></asp:Label> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Ekle" onclick="Button1_Click" /> <asp:Label ID="Label2" runat="server" Text="Tek Sayılar" Font-Bold="True" Font-Size="Medium" ForeColor="White"></asp:Label> <asp:Label ID="Label3" runat="server" Text="Çift Sayılar" Font-Bold="True" Font-Size="Medium" ForeColor="White"></asp:Label> <br /> <asp:ListBox ID="ListBox1" runat="server" Height="134px" Width="143px"> </asp:ListBox> <asp:Button ID="Button2" runat="server" Text="Ayıkla" onclick="Button2_Click" /> <asp:ListBox ID="ListBox2" runat="server" Height="127px" Width="129px"> </asp:ListBox> <asp:ListBox ID="ListBox3" runat="server" Height="129px" Width="127px"> </asp:ListBox> <br />
Sayıları listbox’a eklemek için ListBox1.Items.Add metodunu kullanıyoruz. ayıkla butona basılınca listboxdaki eleman sayısı kadar döngü açıp her elemanın 2’ye göre modunu alıyoruz ve tek ve çift sayıları ayırmış oluyoruz
protected void Button1_Click(object sender, EventArgs e) { int sayi=Convert.ToInt16(TextBox1.Text); ListBox1.Items.Add(sayi.ToString()); } protected void Button2_Click(object sender, EventArgs e) { for(int k = 0;k<=(ListBox1.Items.Count-1);k++) { int a = Convert.ToInt16((ListBox1.Items[k].Text)) %2; if(a==0){ ListBox3.Items.Add(ListBox1.Items[k].Text); } else { ListBox2.Items.Add(ListBox1.Items[k].Text); } } }
VB kodları nedir hoca?.. nasıl yazabilir?
Denemedim ama
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim sayi As Integer = Convert.ToInt16(TextBox1.Text)
ListBox1.Items.Add(sayi.ToString())
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs)
For k As Integer = 0 To(ListBox1.Items.Count - 1)
Dim a As Integer = Convert.ToInt16((ListBox1.Items(k).Text)) Mod 2
If a = 0 Then
ListBox3.Items.Add(ListBox1.Items(k).Text)
Else
ListBox2.Items.Add(ListBox1.Items(k).Text)
End If
Next
End Sub
gibi
Neden Item.Count – 1 i kadar acaba?
item.Count bize sonucu sayma sayısı olarak 5 verir(1-2-3-4-5) ama ilk indis numarası 0 olduğu için 5. eleman 4 olur(0-1-2-3-4) bunun için item.Count-1 kullanıyoruz
Hocam Sayı Giriyorum ama Ekle deyince Sayıları göstermiyor ?=
verdiği bir hata vs.. var mı?
yok hata yoktu.. önce sayıları göstermedi.. Sonra sayıları ayıkla deyince kutuya yazdığım sayıları direk ayıklamadan diğer kutulara gönderdi.. sonra az kurcaladım Oldu :)