Şimdi Ara

Küçük bir program için kod örneği [istek]

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
21
Cevap
1
Favori
1.168
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • konunun ilk somut isteği benden olsun

    programlama bilgim yok denecek kadar az. sadece excelde makro ve çok az vb kullanarak bir iki program yazmışlığım var. şu anda kendi imkanlarımla java öğrenmeye çalışıyorum.

    eğer gönüllü olarak yardım etmek isteyen olursa istediğim küçük programı tarif edicem. istediğim, "programı yazın bana gönderin değil". kodlarını inceleyip öğrenmek vb.

    program şu şekilde: mesela 5 tane soru var. her soruya 0 ile 4 arası puan veriyor kullanıcı (radyo butonu şeklinde olabilir) tüm soruları işaretleyince çıkan pencerede aldığı puana göre bir yorum yazıyor. mesela "10 puan aldınız, bilmemne bilmem ne" gibi.







  • Size bir sorum olacak. Siz ilgili program kodları ile java öğrenmeye mi çalışıyorsunuz?
  • quote:

    Orijinalden alıntı: Lotus Expeditor

    Size bir sorum olacak. Siz ilgili program kodları ile java öğrenmeye mi çalışıyorsunuz?

    yok hayır, olur mu öyle şey. bir yandan temel dersleri takip ediyorum internetten. bir yandan da benim için daha ilgi çekici olması açısından program üzerinde görmek istiyorum.
  • quote:

    Orijinalden alıntı: axt

    quote:

    Orijinalden alıntı: Lotus Expeditor

    Size bir sorum olacak. Siz ilgili program kodları ile java öğrenmeye mi çalışıyorsunuz?

    yok hayır, olur mu öyle şey. bir yandan temel dersleri takip ediyorum internetten. bir yandan da benim için daha ilgi çekici olması açısından program üzerinde görmek istiyorum.

    Kullanıcı mı soruya puan veriyor yoksa doğru bilinen cevaba göre mi?
  • quote:

    Orijinalden alıntı: Lotus Expeditor

    Kullanıcı mı soruya puan veriyor yoksa doğru bilinen cevaba göre mi?


    kullanıcının verdiği puan geçerli.



    < Bu mesaj bu kişi tarafından değiştirildi komutan ucan tekme -- 12 Temmuz 2012; 19:45:43 >
  • bu sorduğun şeyi tam bilmeden yapmak için netbeans'de 'new class' yerine 'new jframe' açarak orda yapmalısın. eclipse'e bunun için eklenti kurulması lazım ama ne olduğu konusunda fikrim yok.

    bence görselini yapmadan önce algoritmasını yapıp scanner'la giriş alarak bu testi yapmaya çalışırsan daha kolay bir başlangıç olur. onu yaptıktan sonra dediğim şekilde jframe içine bu kodu atarak orda görsellik kazandırırsın.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: A.F. ASLAN

    bu sorduğun şeyi tam bilmeden yapmak için netbeans'de 'new class' yerine 'new jframe' açarak orda yapmalısın. eclipse'e bunun için eklenti kurulması lazım ama ne olduğu konusunda fikrim yok.

    bence görselini yapmadan önce algoritmasını yapıp scanner'la giriş alarak bu testi yapmaya çalışırsan daha kolay bir başlangıç olur. onu yaptıktan sonra dediğim şekilde jframe içine bu kodu atarak orda görsellik kazandırırsın.

    çok zor bir şey olduğunu düşünmemiştim istediğimin ama yardımcı olan çıkmadığına göre zor bir şey istemişim sanırım.
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • Programlama mantığı olarak çok zor bir program değil istediğin şey. Ama java syntaxını bilmediğim için yardımcı olamıyorum. Genellikle if kullanmak gerekir bana göre her değişkene harf atarsın 4 şık için doğru ise değişken ismi + 25 dersin mesela sondada yine bi ifle puan 25ten azsa kaldın yazsın 50 den fazlaysa geçtin yazsın gibi değişkenin sonda aldığı değeri kontrol ettirirsin.
  •  
    import javax.swing.JOptionPane;

    public class SoruCevap extends javax.swing.JFrame {

    int a = 0;
    int cnt = 0;
    String[] b = {"İngilizce bilgi seviyeniz", "Java bilgi seviyeniz", "Proje üretme beceriniz", ""};

    /** Creates new form SoruCevap */
    public SoruCevap() {
    initComponents();
    }

    @SuppressWarnings("unchecked")

    private void initComponents() {

    durum = new javax.swing.JSlider();
    jButton1 = new javax.swing.JButton();
    label1 = new javax.swing.JLabel();
    soru = new javax.swing.JTextField();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    jButton1.setText("\u0130leri");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jButton1ActionPerformed(evt);
    }
    });

    label1.setText("'0 '10 '20 '30 '40 '50 '60 '70 '80 '90 '100");

    soru.setEditable(false);
    soru.setText("\u0130nternet kullanma beceriniz");
    soru.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    soruActionPerformed(evt);
    }
    });

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGap(43, 43, 43)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addComponent(soru, javax.swing.GroupLayout.PREFERRED_SIZE, 262, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
    .addComponent(durum, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    .addGap(18, 18, 18)
    .addComponent(jButton1))
    .addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, 343, javax.swing.GroupLayout.PREFERRED_SIZE)))
    .addContainerGap(151, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
    .addContainerGap(45, Short.MAX_VALUE)
    .addComponent(soru, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addGap(18, 18, 18)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addComponent(jButton1)
    .addComponent(durum, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addGap(35, 35, 35))
    );

    pack();
    }
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

    soru.setText(b[cnt]);
    a +=durum.getValue();
    cnt++;

    if (cnt == 4) {
    if(a<250){
    JOptionPane.showMessageDialog(this, "Biraz daha çalışmanız lazım");
    } else{
    JOptionPane.showMessageDialog(this, "Böyle iyi, devam");
    }

    a = 0;
    cnt = 0;
    }


    }

    private void soruActionPerformed(java.awt.event.ActionEvent evt) {

    }


    public static void main(String args[]) {

    try {
    for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
    if ("Nimbus".equals(info.getName())) {
    javax.swing.UIManager.setLookAndFeel(info.getClassName());
    break;
    }
    }
    } catch (ClassNotFoundException ex) {
    java.util.logging.Logger.getLogger(SoruCevap.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
    java.util.logging.Logger.getLogger(SoruCevap.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
    java.util.logging.Logger.getLogger(SoruCevap.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
    java.util.logging.Logger.getLogger(SoruCevap.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }

    java.awt.EventQueue.invokeLater(new Runnable() {

    public void run() {
    new SoruCevap().setVisible(true);
    }
    });
    }
    private javax.swing.JSlider durum;
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel label1;
    private javax.swing.JTextField soru;
    }



    Böyle bişey mi istiyordun?



    < Bu mesaj bu kişi tarafından değiştirildi Guest -- 20 Temmuz 2012; 16:24:45 >




  • quote:

    Orijinalden alıntı: A.F. ASLAN

    Böyle bişey mi istiyordun?

    istediğime yakın. benim oturup bunu iyice incelemem lazım şimdi. teşekkür ederim.
  • yalnız bunu öğrenmek için görselden başlamak hiç mantıklı değil. görsel kullanmak yerine scanner'la giriş alarak benzer şeyler ortaya koyabilirsin.

    iyice ilerledikten sonra görsel işine gir derim.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: A.F. ASLAN

    yalnız bunu öğrenmek için görselden başlamak hiç mantıklı değil. görsel kullanmak yerine scanner'la giriş alarak benzer şeyler ortaya koyabilirsin.

    iyice ilerledikten sonra görsel işine gir derim.

    bu şekilde (scanner'la giriş alarak yapılan) açıklamalı bir örnek yazmanız mümkün mü?
  • hemen aynı örneği yazayım.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  •  

    import java.util.Scanner;

    public class SoruCevap {

    public static void main(String[] args) {

    int a = 0;
    String[] b = {"İngilizce bilgi seviyeniz", "Java bilgi seviyeniz", "Proje üretme beceriniz"};
    Scanner giris = new Scanner(System.in);

    System.out.println("Seviyenizi 0-100 arası sayılarla doldurunuz");
    for (int i = 0; i < b.length; i++) {

    System.out.println(b[i]);

    int c = giris.nextInt();
    while ( (c < 0) || (c > 100) ) {
    System.out.println("Lütfen verilen aralıkta değer giriniz");
    c = giris.nextInt();
    }

    a += c;

    if (i == 2) {
    if (a < 200) {
    System.out.println("Biraz daha çalışmanız lazım");
    } else {
    System.out.println("Böyle iyi, devam");
    }

    a = 0;

    System.out.println("\nTekrar denemek için 0'a basın");
    if ( giris.nextInt() == 0 )
    i = -1;
    }
    }

    }
    }






  • quote:

    Orijinalden alıntı: A.F. ASLAN

     



    hocam kodların yanında
    //açıklama
    istesem çok şey mği istemiş olurum?
  • iftar'dan sonra yazayım.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: A.F. ASLAN

    iftar'dan sonra yazayım.

    iftar özel isim değildir.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  •  

    import java.util.Scanner;

    public class SoruCevap {

    public static void main(String[] args) {

    int a = 0; //Bunu girilen puanların toplamını tutmak için kullanıyorum.
    String[] b = {"İngilizce bilgi seviyeniz", "Java bilgi seviyeniz", "Proje üretme beceriniz"};
    Scanner giris = new Scanner(System.in);

    System.out.println("Seviyenizi 0-100 arası sayılarla doldurunuz");
    for (int i = 0; i < b.length; i++) {
    //Şimdi 'b' dizisindeki elemenları sırayla okuyarak herbirisi için giriş almak istiyorum
    //Bir döngü içerisinde 0'dan itibaren bu dizinin son elemanına kadar sayarak bu amacıma ulaşabilirim

    System.out.println(b[i]); // 'b' dizisinin sırası gelen elemanını(i) ekrana yazdır.

    int c = giris.nextInt(); //int türünde giriş alarak bunu 'c' değişkeninde tut
    while ( (c < 0) || (c > 100) ) {
    // 'c' 0'dan küçükse veya 100'den büyükse bu döngüye gir
    System.out.println("Lütfen verilen aralıkta değer giriniz");
    c = giris.nextInt();
    // 'c' değerini tekrar iste ve isenilen şartlarda giriş sağlanana kadar bunu sürdür
    }

    a += c; // Bu ifade "a = a + c" işleminin kısa ifade ediliş tarzıdır.
    // Girilen her puanı 'a'ya ekle

    if (i == 2) {
    // 'b' dizisinin son elemanı 2 numaralı elemandır
    // son elemana ulaşınca sonucu göster
    if (a < 200) {
    // Toplam puan 200'den küçükse mesajı yaz:
    System.out.println("Biraz daha çalışmanız lazım");
    } else {
    // Toplam puan 200'den küçük değilse mesajı yaz:
    System.out.println("Böyle iyi, devam");
    }

    a = 0; // Test bittiği için yeni teste geçerken toplamı sıfırla
    // not: Bunu aslında yanlış yere koymuşum, bir alttaki i=-1 ile beraber olsa daha doğru olurdu

    System.out.println("\nTekrar denemek için 0'a basın");
    if ( giris.nextInt() == 0 )
    i = -1;
    // klavyeden girilen sayı 0 olursa i'yi -1'e eşitle.
    //Böylece döngü sonunda i, 1 artarak yeni döngüye 0 değeriyle girer. Yani döngü baştan başlar.
    }
    }

    }
    }




    bu kadar açıklama yeter herhalde



    < Bu mesaj bu kişi tarafından değiştirildi Guest -- 20 Temmuz 2012; 21:27:35 >




  • quote:

    Orijinalden alıntı: A.F. ASLAN
    bu kadar açıklama yeter herhalde

    yeter inşallah. bu arada pm yolladım :)
  •  
    import java.util.Scanner;

    public class Test {
    public static void main(String[] args) {

    Scanner girdi = new Scanner(System.in);

    // Her biri 4 cevaplı 3 soru için tasarlıyorum.
    String sorular[][] = new String[3][4];
    int toplam = 0;

    //Önce bütün cevapları tek boyutlu bir diziye atıyorum. Toplam 12 tane cevap var
    String dizi[] = { "Üzgün ve sıkıntılı değilim.",
    "Kendimi üzüntülü ve sıkıntılı hissediyorum.",
    "Hep üzüntülü ve sıkıntılıyım. Bundan kurtulamıyorum.",
    "O kadar üzgün ve sıkıntılıyım ki, artık dayanamıyorum." ,
    "Gelecek hakkında umutsuz ve karamsar değilim.",
    "Gelecek için karamsarım.",
    "Gelecekten beklediğim hiçbir şey yok.",
    "Gelecek hakkında umutsuzum ve sanki hiçbir şey düzelmeyecekmiş gibi geliyor.",
    "Kendimi başarısız biri olarak görmüyorum.",
    "Başkalarından daha başarısız olduğumu hissediyorum.",
    "Geçmişe baktığımda başarısızlıklarla dolu olduğunu görüyorum.",
    "Kendimi tümüyle başarısız bir insan olarak görüyorum."};

    // dizi'nin 3. elemanı sorular'ın (3/4). satır, (3 mod 4). sütundaki elemanına eşit. yani 0. satır, 3. sütunda
    // dizinin 6. elemanı sorular'ın (6/4). satır, (6 mod 4). sütundaki elemanına eşit. yani 1. satır, 2. sütunda vs.vs.
    for (int i = 0; i < 12; i++) {
    sorular[i/4][i%4] = dizi[i];
    }
    //Bunu yapmanın bir çok yolu olabilir. Ben matematik kullanarak yapmayı tercih ettim.

    System.out.println("Aşağıdaki sorulara yanlarındaki numaraları seçerek cevap veriniz");
    for (int i = 0; i < 3; i++) {
    // i değiştiği zaman soru değişecek
    for (int j = 0; j < 4; j++) {
    //j değiştiği zaman soru içinde cevap değişecek
    System.out.println( j + ") " + sorular[i][j]);
    }
    // Sorunun bütün şıklarını yazdıktan sonra giriş isteyelim.
    //Bunun da istenilen şartlarda yani 0-4 arasında olmasını sağlayalım.
    //(Normalde aşağıdaki işlem için do-while kullanmak daha mantıklı ama kendi tercihim bu şekilde)
    int cevap = girdi.nextInt();
    while( (cevap < 0) || (cevap >3) ){
    System.out.println("Lütfen belirtilen şıklardan birini seçiniz");
    cevap = girdi.nextInt();
    }

    toplam += cevap;
    System.out.println(); //Her sorudan sonra bir satır boşluk bırak
    }

    String[] teshis = {"Problemsiz insan", "Normal insan", "Sıkıntılı insan", "Problem insan"};
    System.out.println("Test tamamlandı. Sonuç: " + teshis[toplam/sorular.length]);
    //4 tane teşhis koydum ve hangi teshisi koyacağı için toplam puanı soru sayısına böldüm.

    }
    }







  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.