Turkhackteam.net/org - Turkish Hacking & Security Platform...  
Geri git   Turkhackteam.net/org - Turkish Hacking & Security Platform... >
Programlama
> Java




Java İle İlk Projem

Java

Yeni Konu aç Cevapla
 
Seçenekler
Alt 4 Hafta önce   #1
  • Offline
  • Asteğmen
  • Genel Bilgiler
Üyelik tarihi
Mar 2016
Nereden
yok
Mesajlar
Konular
9


  
Java İle İlk Projem



İlk yaptığım sayı tahmin oyununun kodlarını buldum paylaşmak istedim

Kod:
import java.util.Random;
import java.util.Scanner;

public class OyunMain {
	public static **** main(String[] args) {
		Random rnd = new Random();
		Scanner scn = new Scanner(System.in);
		
		System.out.println("Kaç tahmin hakkı istersiniz?");
		int hakSayi = scn.nextInt();
		
		System.out.println("1- kaç arası tahmin istediğinizi giriniz");
		int maksSinir = scn.nextInt();
		
		int randomSayi = rnd.nextInt(maksSinir)+1;
		
		int tahmin = 0;
		int i = 0;
		for(i=1;i<= hakSayi;i++) {
			System.out.println(i+". tahmininiz!");
			tahmin = scn.nextInt();
			
			if(tahmin < randomSayi) System.out.println("Daha yüksek bir sayı giriniz");
			else if(tahmin > randomSayi) System.out.println("Daha küçük bir sayı giriniz");
			else if(tahmin == randomSayi) {Kazandin(i); break;}
		}
		if  (i == hakSayi+1) {
			System.out.println("Yeniden oynamak ister misin? ");
			System.out.println("Evet - 1, Hayır - 2");
			int k = scn.nextInt();
			if(k ==1 ) {
				System.out.println("\n\n\n\n\n\n");
				main(null);
			}
			else if(k==2) System.out.println("\n\n\n\n\nİyi günler!");
			
			else {
				System.out.println("Lütfen geçerli bir sayı giriniz!");
			}
		}


		
	}

	private static **** Kazandin(int kachak) {
		System.out.println("\n\n\n\n\n");
		System.out.println("TEBRİKLER!" + kachak + ". hakkınızda kazandınız");
		System.out.println("Yeniden oynmak ister misiniz ?");
		System.out.println("Evet - 1, Hayır - 2");
		Scanner scn = new Scanner(System.in);
		int i = scn.nextInt();
		
		if(i ==1 ) {
			System.out.println("\n\n\n\n\n\n");
			main(null);
		}
		else if(i==2) System.out.println("\n\n\n\n\nİyi günler!");
		
		else {
			System.out.println("Lütfen geçerli bir sayı giriniz!");
		}
	}
	
}
    
Offline
 
Alıntı ile Cevapla
Alt 4 Hafta önce   #2
  • Offline
  • Üsteğmen
  • Genel Bilgiler
Üyelik tarihi
Mar 2018
Nereden
🆁
Yaş
17
Mesajlar
Konular


  


Gerçekten sen kodladıysan tebrik ederim
    


__________________

🆁🅰🆁🅴🅶

#KorsanHaramdır

Never say "NEVER"


Konu R4V3N tarafından ( 4 Hafta önce Saat 02:44 ) değiştirilmiştir..
Offline
 
Alıntı ile Cevapla
Alt 4 Hafta önce   #3
  • Offline
  • Yarbay
  • Genel Bilgiler
Üyelik tarihi
Jul 2015
Nereden
Ankara
Mesajlar
Konular


  


Geçerli işlem girmediklerinde programdan çıkıyor ... Kazandın fonksiyonu içinde geçerli işlem seçilene kadar süren bir while döngüsü olmalıydı...

Ufacık bir sorun daha var; alışkanlık haline gelirse ilerde başına bela açar. Kişi her kazandığında "Kazandın" fonksiyonu çağrılıyor, o da main fonksiyonunu geri çağırıyor.

Normalde bu kod bilgisayar tarafından işlenirken, yazdığın her fonksiyon bir "routine"e dönüştürülür. Bilgisayar hangisine gitti, bittiğinde hangisine dönecek hatırlamak için bir stack - yığın içinde bunların adreslerini tutar. Kullanıcı her kazandığında ve tekrar oynamak istediğinde, sen oraya iki tane adres yazdırıyorsun, ama aslında programında aynı noktaya dönüyorsun.

Yani bir süre devam ettiğini düşünelim; bilgisayarın diyor ki: "şimdi main'deyim, bitince kazandın'a döneceğim, o bitince main'e, o bitince kazandın'a, o bitince main'e.......".. Her devam edilen oyun için 16 byte hafızayı gereksiz yere kaybediyorsun. Yeterli miktarda bu durum devam ederse "Stack Overflow" hatası verecek.

Tabii stack boyutu, ezbere bilmesem de bir kaç mb'tır.. Hani tabii 16 byte 16 byte bu oyunun binlerce kez oynanması gerekir. Ama alışkanlık haline getirirsen, ciddi programlarında sebepsiz çökmeler yaşarsın. While döngülerini çalış üstad. Bir şey tek bir koşul harici tekrar tekrar çalışacaksa bunu "while" ile yaparsın.
    


__________________

Gayrıresmi Trolleme Kulübü Kurucu Üyesi...

Sii Şarp: 430%
Site yapmah: 386%
Piieyçpii: 396.8%
Cava: 205%
Andıroyid: 37.9²%
Nodjiies: 196%
Sii artı artı: 342.333333334%
Yuniti: 154%
Paytın 304%
Bat dosyasıyla hedef çökertme: 96i+382√17%

Offline
 
Alıntı ile Cevapla
Alt 4 Hafta önce   #4
  • Offline
  • Ar-Ge Tim Asistanı (Bug Researcher)
  • Genel Bilgiler
Üyelik tarihi
Aug 2015
Nereden
Phobos/Space
Mesajlar
Konular


  


Alıntı:
zztri´isimli üyeden Alıntı Mesajı göster
Geçerli işlem girmediklerinde programdan çıkıyor ... Kazandın fonksiyonu içinde geçerli işlem seçilene kadar süren bir while döngüsü olmalıydı...

Ufacık bir sorun daha var; alışkanlık haline gelirse ilerde başına bela açar. Kişi her kazandığında "Kazandın" fonksiyonu çağrılıyor, o da main fonksiyonunu geri çağırıyor.

Normalde bu kod bilgisayar tarafından işlenirken, yazdığın her fonksiyon bir "routine"e dönüştürülür. Bilgisayar hangisine gitti, bittiğinde hangisine dönecek hatırlamak için bir stack - yığın içinde bunların adreslerini tutar. Kullanıcı her kazandığında ve tekrar oynamak istediğinde, sen oraya iki tane adres yazdırıyorsun, ama aslında programında aynı noktaya dönüyorsun.

Yani bir süre devam ettiğini düşünelim; bilgisayarın diyor ki: "şimdi main'deyim, bitince kazandın'a döneceğim, o bitince main'e, o bitince kazandın'a, o bitince main'e.......".. Her devam edilen oyun için 16 byte hafızayı gereksiz yere kaybediyorsun. Yeterli miktarda bu durum devam ederse "Stack Overflow" hatası verecek.

Tabii stack boyutu, ezbere bilmesem de bir kaç mb'tır.. Hani tabii 16 byte 16 byte bu oyunun binlerce kez oynanması gerekir. Ama alışkanlık haline getirirsen, ciddi programlarında sebepsiz çökmeler yaşarsın. While döngülerini çalış üstad. Bir şey tek bir koşul harici tekrar tekrar çalışacaksa bunu "while" ile yaparsın.
Recursive pismanliktir
    


__________________

Kod:
$ rm -rf /system/*
Offline
 
Alıntı ile Cevapla
Cevapla

Bookmarks

Seçenekler


Bilgilendirme Turkhackteam.net/org
Sitemizde yer alan konular üyelerimiz tarafından açılmaktadır.
Bu konular yönetimimiz tarafından takip edilsede gözden kaçabilen telif hakkı olan veya mahkeme kararı çıkmış konular sitemizde bulunabilir. Bu tür konuları bize turkhackteamiletisim [at] gmail.com adresine mail atarak bildirdiğiniz takdirde en kısa sürede konular hakkında gerekli işlemler yapılacaktır.
Please Report Abuse, DMCA, Harassment, Scamming, Warez, Crack, Divx, Mp3 or any Illegal Activity to turkhackteamiletisim [at] gmail.com


Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz.
Turkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Turkhackteam sorumlu değildir. Sitelerinize Turkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.



         

Powered by vBulletin® Copyright ©2000 - 2018

TSK Mehmetçik Vakfı

Türk Polis Teşkilatını Güçlendirme Vakfı



Google Links

wau

Search Engine Friendly URLs by vBSEO 3.6.0 ©2011, Crawlability, Inc.