Şimdi Ara

JAVA SAYI OYUNU

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
10
Cevap
0
Favori
823
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • ARKADSLAR JAVA DA SAYI OYUNU GELSITIRMEYE CLASTIM AMA OYUN SONSUZ DONGUYE GIRDI COZEMEDIM.
    OYUNUN MANTIGI SU MAKINE RANDOM OALRAK 4 HANELI BI SAYI TUTUYOR (ORN 1456) DAHA SONRA SIZDE BIR TAHMINDE BULUYOSUNUZ(ORNEK1599)
    IKI SAYI TUTUYOR BIR VE 5 1 NUMARA IKITARAFTADA BINLER HANESINDE OZAMAN KARSI TARAFA IPUCU OLARAK * ISARETINI VERIYOR 5 NUMARA ISE FARKLI BIR HANEDE OZAMAN DA ? ISARETINI VERIYOR. YANI 1.KEZ CALISINCA *? VERECEK. OYUN 4 TANE * BULANA KADAR SURUYOR. MANTIK BU SEKIDLE
    KODLAR ASAGIDA YARDIMCI OALBILRISENIZ SEWINIRIM.


    package sayi_oyunu;

    /**
    *
    * @author mehmet
    */

    import java.util.Random;
    import java.util.Scanner;
    public class Sayi_Oyunu {

    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    // TODO code application logic here

    int sayi_turet,sayi;
    int s=0;


    int sond[],sond2[];
    sond = new int[4];
    sond2 = new int[4];
    Scanner kul_sayi=new Scanner(System.in);
    sayi_turet=sayi_turet();





    //hanelere bolme
    sond[0]= sayi_turet / 1000;
    sond[1]= (sayi_turet % 1000)/100;
    sond[2]= (sayi_turet % 100)/10;
    sond[3]= (sayi_turet % 10);




    // System.out.println(sayi_turet);
    //System.out.println(sond[0]);
    //System.out.println(sond[1]);
    // System.out.println(sond[2]);
    // System.out.println(sond[3]);
    //hanerlere bolme
    while(s!=4) {
    System.out.println("sayı girişi");
    sayi=kul_sayi.nextInt();
    if(sayi<1000 || sayi>9999){
    System.out.println("hatalı gırıs");
    System.exit(0);
    }

    else
    {
    sond2[0]= sayi / 1000;
    sond2[1]= (sayi % 1000)/100;
    sond2[2]= (sayi % 100)/10;
    sond2[3]= (sayi % 10);
    // System.out.println(sond2[0]);
    // System.out.println(sond2[1]);
    // System.out.println(sond2[2]);
    // System.out.println(sond2[3]);
    for(int i=0;i<=3; i++)
    {
    for(int j=0;j<=3; j++)
    {
    if(sond==sond2[j] && i==j)
    {
    System.out.println("*");
    s++;
    }
    else if(sond==sond2[j] && i!=j ){
    System.out.println("?");
    }
    else
    {
    System.out.println("0");
    }
    }
    }








    }
    }


    }
    // bilgisayarın olusturdugu 4 haneli sayı metodu
    public static int sayi_turet()
    {
    int rnd_sayi;
    Random rd =new Random();
    rnd_sayi=rd.nextInt(8999)+ 1000;

    return rnd_sayi;


    }

    }



    _____________________________
  • while'in içinde scanner i her seferinde yeniden tanımlamayı dener misiniz?

    şu şekilde değil :

    Scanner oku = new Scanner(System.in);

    while (true)
    {
    int a = oku.nextInt();
    }

    bu şekilde :

    Scanner oku;

    while (true)
    {
    oku = new Scanner(System.in);
    int a = oku.nextInt();
    }
    _____________________________
  • spagettinize sos istermisiniz ?
    _____________________________
  • hocam ılgınız ıcın tesekkurler. calısor program donguden kurtardım fakat bazen dogru calsıor bazen ıse hatalı . dongude bı sroun var sanrıım. dogru sonucu alamıyorum

    for(int i=0;i<=3; i++)
    {
    for(int j=i;j<=2; j++)
    {
    if(sond==sond2[j] && i==j)
    {
    System.out.println("*"+"\t");
    s++;
    }
    else if(sond==sond2[j] && i!=j ){
    System.out.println("?"+"\t");
    }
    if(s==4){
    System.out.println("tebrikler sayıyı bildiniz ");
    }
     JAVA SAYI OYUNU
    _____________________________




  • calsınca ortaya bu cıkıor
     JAVA SAYI OYUNU
    _____________________________
  • Bunu bir deneyebilir misin?

    Not: Kodda arraylerin i. elemanları köşeli değil normal parantezle yazıldı çünkü burada köşeli parantez ile yazmak HTML'de italik yazı karşılığına geliyor, o zaman da post saçmalıyor :)

     
    public static void main(String[] args) {

    int sayi_turet, sayi;
    int[] answerVisited;
    int[] guessVisited;
    int flag = 1;

    int sond[], sond2[];
    sond = new int[4];
    sond2 = new int[4];
    Scanner kul_sayi = new Scanner(System.in);
    sayi_turet = sayi_turet();

    sond[0] = sayi_turet / 1000;
    sond[1] = (sayi_turet % 1000) / 100;
    sond[2] = (sayi_turet % 100) / 10;
    sond[3] = (sayi_turet % 10);

    while (flag != 0) {
    System.out.println("sayı girişi");
    sayi = kul_sayi.nextInt();

    if (sayi < 1000 || sayi > 9999) {
    System.out.println("hatalı gırıs");
    System.exit(0);
    }

    else {
    sond2[0] = sayi / 1000;
    sond2[1] = (sayi % 1000) / 100;
    sond2[2] = (sayi % 100) / 10;
    sond2[3] = (sayi % 10);

    answerVisited = new int[]{0, 0, 0, 0};
    guessVisited = new int[]{0, 0, 0, 0};

    for (int i = 0; i < sond.length; i++) {
    for (int j = 0; j < sond2.length; j++) {
    if(answerVisited(i) == 0 && guessVisited[j] == 0 && sond(i) == sond2[j]) {
    if(i == j) {
    answerVisited(i) = 1;
    guessVisited[j] = 1;
    System.out.println("*");
    }
    else if(sond(i) != sond2(i)){
    answerVisited(i) = 1;
    guessVisited[j] = 1;
    System.out.println("?");
    }
    }
    }
    }

    flag = 0;
    for(int i = 0; i < answerVisited.length; i++) {
    if(answerVisited(i) != 1 || guessVisited(i) != 1) {
    flag = 1;
    }
    }

    if(flag == 0) {
    System.out.println("Tebrikler kazandiniz!");
    }
    }
    }

    kul_sayi.close();
    }
    _____________________________




  • EMEGINIZ ICIN COK TESEKKURLER. HERSEY HAYET GUZEL AMA KUCUK BI HATASI VAR MESELA TUTULAN SAYI 4930 BEN 4039 GIRINCE KAZANDIZ DIIP CIKIOR AMA ONU DA BEN HALLEDERIM. TEKRAR SAOLUN
    _____________________________
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • PEKI BENIM YAZDIHIM DONGUYE BIRSEY EKLEYIP YAPILABILIR MI? YOKSA TEMELDE YANLIS KURGU MU WAR SIZCE *
    _____________________________
  • else if(sond(i) != sond2(i))

    bloğundaki

    answerVisited(i) = 1;

    ifadesi kaldırılırsa, sorun muhtemelen çözülecektir.

    Temeldeki kurgu yanlış çünkü tekrarlanan rakamlar kontrol edilmiyor ve her tahmin ayrı olarak değerlendirilmiyor.
    _____________________________
  • her tahmın ayrıu ayrı degerlendırılıor hocam o kısmını yazmadım for donuglerının ustunde while(syc!=4) seklınde her * sayzınca syc 1 oluor 4 olunca da dongu kapanıyor. neyse bıraz daha ugrasım bne tekrar saolun
    _____________________________
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.