Çözüldü Java'da int ve long fark etmiyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

godofwarfanno1

Decapat
Katılım
2 Aralık 2018
Mesajlar
42
Aşağdaki kodu long ile çalıştırdığımda da int ile çalıştırdığımda da aynı hanede bu sayı uzun diyor.

Java:
public class Main {

public static void main(String[] args) {

long number = 9008740991;

boolean isPrime = false;

for (int i = 2; i < number; i += 1) {
if (number % 2 == 0) {

isPrime = true;

}
if (isPrime = true) {
}
}

boolean a = false;
for (int i = 3; i < number; i += 1) {
if (number % 3 == 0) {

a = true;

}
if (a = true) {
}
}

boolean b = false;

for (int i = 5; i < number; i += 1) {
if (number % 5 == 0) {

b = true;

}
if (b = true) {
}
}
boolean c = false;
for (int i = 7; i < number; i += 1) {
if (number % 7 == 0) {

c = true;

}
if (c = true) {
}
}

if (isPrime & a & b & c == true) {
System.out.println(number + " asal değildir.");

} else {

System.out.println(number + " asaldır.");
}

}
}
 
Son düzenleyen: Moderatör:
Çözüm
Sayının sonuna "L" koyar mısın? Yani long number = 9008740991; yerine long number = 9008740991L; yap.
Burada öyle demişler. Neden böyle olduğunu bilmiyorum ama anlaşılan long değerler için L koymak gerekiyor.

Ben de başta söylenen döngü olayı ile alakalı olduğunu düşündüm. Ama hatayı long değişkenin tanımlandığı satır veriyor. Döngüdeki değişkeni long olarak tanımlamak bir şey değiştirmedi.
Kod:
long number = 9008740991;

for (int i = 2; i < number; i += 1)

loop icindeki variable int cunku, yazdigin hic bir programda kodun hic bir yerinde int ile long comparison'i yapmamalisin. Ayni tipleri kiyaslamayacaksan static typed dil kullanmanin mantigi kalmiyor, python ile yaz.
 
Sayının sonuna "L" koyar mısın? Yani long number = 9008740991; yerine long number = 9008740991L; yap.
Burada öyle demişler. Neden böyle olduğunu bilmiyorum ama anlaşılan long değerler için L koymak gerekiyor.

Ben de başta söylenen döngü olayı ile alakalı olduğunu düşündüm. Ama hatayı long değişkenin tanımlandığı satır veriyor. Döngüdeki değişkeni long olarak tanımlamak bir şey değiştirmedi.
 
Çözüm
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı