package asal
import java.util.Scanner;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int i,sayi;
Scanner in=new Scanner(System.in);
sayi=in.nextInt();
boolean as;
for(i=2; i<=sayi/2; i++) if((sayi%i)==0) { as=false;
break;
} }
if(as==true) System.out.println("sayi asaldir");
else System.out.println("sayi asal degildir");
// TODO code application logic here
}
}
arkadaşlar yukarıdaki kod java da klavyeden girilen sayinin asal olup olmadigini araştıran kod..dogru oldugunu düşünüyorum ancak "if(as==true)" satırında hata veriyor ..yardımci olursaniz sewnirim?
javada hata?
Java programlama dili bir çok konuda destek sağladığı gibi programcılara kod yazarken minimum hata yapma konusunda da yardımcı olmaktadır.Programınız icerisinde java derleyicisi,as boolean degiskeninin herhangi bir durum icerisinde true degerine sahip olacagını bilemez.(ki su durumda as degeri hic bir durumda true degildir).
Dolayısıyla java da tanımladıgınız her nesne veya primitif tipteki ornekler icin ilk deger ataması yapmanız gerekmektedir.Dolayısıyla boolean as; ifadesindeki satıra as=true; ataması yapmanız beklenir.Bu sayede derleyici programınızı guvenle calıstırarak bir takım belirsizlikleri program basında onlemiş olacaktır.
Başarılar
Doğru kod aşağıdaki gibi sanırım senin hatan iki bool değişkenini bibirine eşitlemekten kaynaklanıyor.
import java.util.Scanner;
class program{
public static void main(String[] args){
Scanner tara=new Scanner(System.in);
int i;
int sayi;
sayi=tara.nextInt();
for(i=2;i<=sayi/2;i++)
{
if((sayi%i)==0)
{
System.out.println("sayi asal degildir"); break;
}
else
{
System.out.println("sayi asaldir");
}
}
}
}
muh34 sana gönderdiğim mesaja bakmadın mı?