Buddha Mesaj tarihi: Haziran 10, 2011 Konuyu açan Mesaj tarihi: Haziran 10, 2011 Şöyle yaptım; import java.util.Scanner; public class AsalSayilar{ public static void main(String asal[]){ Scanner klv = new Scanner(System.in); long yeniSayi = 0; long girilenSayi; long sayac = 1; System.out.print("Bir tam sayi giriniz: "); girilenSayi = klv.nextLong(); System.out.println(); for (long i=0; i<=girilenSayi; i++){ long yeniSayi = Math.pow(2,i); yeniSayi = yeniSayi - 2; if (yeniSayi%2 = 0){ System.out.println(sayac + ". Asal Sayi: " + yeniSayi); sayac++; } else continue; } System.out.println(); System.out.println("Toplam " + (sayac-1) + " Asal Sayi Bulundu!"); } } Math.pow kısmında üs 2 üzeri i değişkeni yapmam gerekiyor. Heralde ben saçmaladım orda tam oalrak ne yapmam lazım?
Buddha Mesaj tarihi: Haziran 10, 2011 Konuyu açan Mesaj tarihi: Haziran 10, 2011 aquila said: math import edicen, sonra pow methodunu kullanican. yanlissam duzeltsin biri. Abi mesela Math.random'u biliyorum onun için import herangi bişey yapmadan kullanabiliyoruz. Şuan şöyle; import java.util.Scanner; public class AsalSayilar{ public static void main(String asal[]){ Scanner klv = new Scanner(System.in); long yeniSayi; long girilenSayi; long sayac = 1; System.out.print("Bir tam sayi giriniz: "); girilenSayi = klv.nextLong(); System.out.println(); for (long i=0; i<=girilenSayi; i++){ yeniSayi = Math.pow(2,i); yeniSayi = yeniSayi - 2; if (yeniSayi%2 == 0){ System.out.println(sayac + ". Asal Sayi: " + yeniSayi); sayac++; } else continue; } System.out.println(); System.out.println("Toplam " + (sayac-1) + " Asal Sayi Bulundu!"); } } Math.pow satırında possible loss of precision hatası veriyor?
aquila Mesaj tarihi: Haziran 10, 2011 Mesaj tarihi: Haziran 10, 2011 double return ediyo galiba, ondandir.
Buddha Mesaj tarihi: Haziran 10, 2011 Konuyu açan Mesaj tarihi: Haziran 10, 2011 cabot said: yeniSayi = (long) Math.pow(2,i); Böyle yapınca çalıştı kalanalrıda bitirdim ödev tamam. Fakat benim merak ettiğim neden oraya (long) koyduk. yeniSayi ve i zaten long 2 de tam sayı. Neden oraya long koyma gereği duyduk? Yani tamsayıyı tam sayıyla çarpacak sürekli sonuç her türlü tam sayı
cabot Mesaj tarihi: Haziran 10, 2011 Mesaj tarihi: Haziran 10, 2011 Dediğin doğru ama Math.pow double döndürüyor değer olarak.O yüzden onu tekrar long'a cast etmek gerekti.
Deacon Mesaj tarihi: Haziran 10, 2011 Mesaj tarihi: Haziran 10, 2011 pow fonksiyonu double donduruyor. noktali sayilarla tam sayilarin bilgissayarda gosterimi farkli. o yuzden double'i long'a cast etmen lazim.
Buddha Mesaj tarihi: Haziran 10, 2011 Konuyu açan Mesaj tarihi: Haziran 10, 2011 Yani 2 üzeri 2yi 4.0 olarak çıkarıyor? diğer sorumda şu. Math pow kullanmadan sayının üzerini ben alayım dedim şu şekilde; import java.util.Scanner; public class AsalSayilar{ public static void main(String asal[]){ Scanner klv = new Scanner(System.in); long yeniSayi; long girilenSayi; long sayac = 1; int us = 2; long sonuc = 1; System.out.print("Bir tam sayi giriniz: "); girilenSayi = klv.nextLong(); System.out.println(); for (long i=0; i<=girilenSayi; i++){ if(i==1 || i==0){ continue; } for(long y=0; y<=i; y++){ sonuc = sonuc * 2; } sonuc = sonuc - 2; if (sonuc%i == 0){ System.out.println(sayac + ". Asal Sayi: " + i); sayac++; } else continue; } System.out.println(); System.out.println("Toplam " + (sayac-1) + " Asal Sayi Bulundu!"); } } Üs alma fonksiyonumun neresi yanlış? Mesela 50 giriyorum sonuç şu; 1.Asal Sayi: 2 2.Asal Sayi: 6 3.Asal Sayi: 11 4.Asal Sayi: 13
cabot Mesaj tarihi: Haziran 10, 2011 Mesaj tarihi: Haziran 10, 2011 Evet aynen öyle.Böyle şeyleri direk editöre yazarak görebilirsin cevabı daha kalıcı olur ögrenme acısından
Deacon Mesaj tarihi: Haziran 10, 2011 Mesaj tarihi: Haziran 10, 2011 Bir de bu float'in double'in bilgisayarda nasil gosterildigini bilmiyorsan ogren. Hatta tamsayilarinkini de ogren.
Buddha Mesaj tarihi: Haziran 10, 2011 Konuyu açan Mesaj tarihi: Haziran 10, 2011 Deacon said: Bir de bu float'in double'in bilgisayarda nasil gosterildigini bilmiyorsan ogren. Hatta tamsayilarinkini de ogren. Abi nasıl göründüğünü biliyorumda Math.pow şimdi akiladan öğrendim bu komutu. Math pow'un sonucunun double olduğunu bilmiyordum bilsem hata yapmazdım. Üstteki mesajımı güncelledim math pow kullanmadan döngü ile üs almaya çalıştım sonuç yanlış çıkıyor sizce nerde hata yaptım? (Math.pow ile yaptıgım çalışıyor o sağlam)
reyou Mesaj tarihi: Haziran 10, 2011 Mesaj tarihi: Haziran 10, 2011 konu ile ilgisi var diye yaziyorum madem kursa baslamissin http://www.iamthecoder.com/iamthecoder/categories.aspx?categoryid=12&categoryname=Java burda bi dolu tutorial var 1 gunde izleyip baya iyi yol katedebilirisn.
aquila Mesaj tarihi: Haziran 10, 2011 Mesaj tarihi: Haziran 10, 2011 tutoya gerek yok, verdigim link her an elinin altinda olmali, baktigin ilk yer orasi olucak bisey ararken.
Buddha Mesaj tarihi: Haziran 10, 2011 Konuyu açan Mesaj tarihi: Haziran 10, 2011 Söyledikleriniz dikkate alınacak. Fakat diğer sorum havada kaldı. Math.pow kullanmadan kendim üs alma döngüsü oluşturdum şöyle oldu; import java.util.Scanner; public class AsalSayilar{ public static void main(String asal[]){ Scanner klv = new Scanner(System.in); long yeniSayi; long girilenSayi; long sayac = 1; int us = 2; long sonuc = 1; System.out.print("Bir tam sayi giriniz: "); girilenSayi = klv.nextLong(); System.out.println(); for (long i=0; i<=girilenSayi; i++){ if(i==1 || i==0){ continue; } for(long y=0; y<=i; y++){ sonuc = sonuc * 2; } sonuc = sonuc - 2; if (sonuc%i == 0){ System.out.println(sayac + ". Asal Sayi: " + i); sayac++; } else continue; } System.out.println(); System.out.println("Toplam " + (sayac-1) + " Asal Sayi Bulundu!"); } } Üs alma fonksiyonumun neresi yanlış? Mesela 50 giriyorum sonuç şu; 1.Asal Sayi: 2 2.Asal Sayi: 6 3.Asal Sayi: 11 4.Asal Sayi: 13 Sadece üs almayı ayrı çalıştırınca oluyor. Ama uygulamada asal sayıları yanlışbuluyor. Aynı uygulama mathpow ile düzgün çalışıyor. E benim üs almamda doğru çalışıyor yanlış nerde?
Kojiroh Mesaj tarihi: Haziran 10, 2011 Mesaj tarihi: Haziran 10, 2011 2^50 dediğin çok büyük bi sayı. 32 bite sığmıyo kafadan. Koda bakmadım ama daha ufak sayılarla çalışması lazım. Her ihtimale karşı yazayım bi fonksiyon public static long Pow(long in_value, int pow) { long out_value = 1; for(int i = 0; i < pow; ++i) out_value *= in_value; return out_value; }
Buddha Mesaj tarihi: Haziran 10, 2011 Konuyu açan Mesaj tarihi: Haziran 10, 2011 math.pow sığıyor ama long yapınca? Aynı uygulama math pow ile calısıyor benim döngü ile yanlış sonuç veriyor. Oha haklısın abi mesela 10000 girdiğimde devamı gelmiyor. Ne yapacaz şimdi longdan daha uzun değişken görmedik biz. Hintlilerin sistemi java da yalan mı oldu yani?
Deacon Mesaj tarihi: Haziran 10, 2011 Mesaj tarihi: Haziran 10, 2011 longdan buyuk double ve float var. onlarin alabilecegi maximum degerlere bi bak istiyorsan. bir de us almak icin logn'de calisan efektif bi yontem var. ona da bir goz at, bilgi dagarcigina eklemis olursun.
Buddha Mesaj tarihi: Haziran 10, 2011 Konuyu açan Mesaj tarihi: Haziran 10, 2011 Neyse abi hinlilerin yönteminden daha kısa yol buldum ödev olarak onu verecem. Diğer uygulamalarıda kaydettim hocaya göstereyim nerde hata yapmışım. Sırada mukemmel sayılar var ha gayret
HighSelf Mesaj tarihi: Haziran 10, 2011 Mesaj tarihi: Haziran 10, 2011 ARKADAŞLAR javayı network işlemleri için nası kullanabilirim ? bi sayfadan content indirip linkleri taratmak gibi mesela
aquila Mesaj tarihi: Haziran 10, 2011 Mesaj tarihi: Haziran 10, 2011 guzel kullanirsin. hepimiz no-liferiz...
SpiderS_DangeR Mesaj tarihi: Haziran 10, 2011 Mesaj tarihi: Haziran 10, 2011 javadan iyisi şamda kayısı
Dwinz Mesaj tarihi: Haziran 11, 2011 Mesaj tarihi: Haziran 11, 2011 sayfayı indirip, string operasyonlarıyla hrefleri çekersin. şiir gibi olur valla.
Auberon Mesaj tarihi: Haziran 22, 2011 Mesaj tarihi: Haziran 22, 2011 Benim de java ile ilgili bir sorunum var yeni konu açmak istemedim. Kardeşimin bir ödevi var Ona yardıma kasıyorum ama windows 7 64 bit ve office 2003 için java access bağlantısını nasıl yapacağımızı bulamadık. nasıl yapılır bir yol gösterebilir misiniz
reyou Mesaj tarihi: Haziran 22, 2011 Mesaj tarihi: Haziran 22, 2011 eclipse denedimde 2 gun once visual studionun onunde diz coker tovbe ister, o derece yani.
Sawer Mesaj tarihi: Haziran 22, 2011 Mesaj tarihi: Haziran 22, 2011 Auberon said: Benim de java ile ilgili bir sorunum var yeni konu açmak istemedim. Kardeşimin bir ödevi var Ona yardıma kasıyorum ama windows 7 64 bit ve office 2003 için java access bağlantısını nasıl yapacağımızı bulamadık. nasıl yapılır bir yol gösterebilir misiniz office'in 64 bit olması lazım. Ms Access ile mi bağlantı kurmaya çalışıyorsunuz ?
Öne çıkan mesajlar