Şimdi Ara

java- armstrong number method.

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
8
Cevap
0
Favori
714
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • arkadaslar su soruda yardimci olursaniz sevinirim ugrastim ama beceremedim sinav sorusu.

    Write a method called isArmstrongNum to determine if a given number is an Armstrong number. Write a program that generates 100 three-digit random numbers and calls isArmstrongNum method to find all Armstrong numbers among these 100 random numbers.



  • 100 tane 3 basamakli sayi ureteceksin.
    Bir tane de fonksiyon yapacaksin armstrong number olanlari bulacak.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Kaygerya kullanıcısına yanıt
    public static void main(String args[])
    {
    int n, sum = 0, temp, r;
    Random rand=new Random();
    n = rand.nextInt(900)+100;
    System.out.println("The random number is :"+n);
    temp = n;

    while( temp != 0 )
    {
    r = temp%10;
    sum = sum + r*r*r;
    temp = temp/10;
    }
    if ( n == sum )

    System.out.println("The random number is an armstrong number.");
    else

    System.out.println("The random number is not an armstrong number."); }



    }



    bunu method olarak nasil yeniden yazabilirim ?
  • Void main icindekilerin hepsini kes

    Public void findarmstrongnumbers()
    {
    Buraya yapistir
    }

    MAIN icinde de findarmstrongnumbers(); yaz.

    ama hocanin istedigi sadece armstrong number mi degil mi kismini fonksiyon icinde yapman

    < Bu ileti mobil sürüm kullanılarak atıldı >
  •  

    public static void ArmBul(){
    int [] dizi=new int[1000];
    Set liste=new HashSet();
    int yuzler , onlar , birler , i ,RandomSayi ,ArmKontrol;

    for(i=0;i<1000;i++){
    dizi[i]=100+(int)(Math.random()*899);

    yuzler=dizi[i]/100;
    onlar=(dizi[i]-(yuzler*100))/10;
    birler=dizi[i]%10;
    ArmKontrol=(int) (Math.pow(yuzler, 3)+Math.pow(onlar, 3)+Math.pow(birler, 3));

    if(ArmKontrol==dizi[i]){
    liste.add(ArmKontrol);

    }
    }
    System.out.println(liste);
    }




    100 sayıda bulamıyodu genelde 0 cıkıyordu 1000 yaptım o nedenle. Başka çözümü var mı üzerinde düşünmek lazım ilk şekilde böyle yaptım.

    Edit : Merak ettim çözümüm doğru mu diye bende yeni sayılırım hocam ? @Kaygerya



    < Bu mesaj bu kişi tarafından değiştirildi BayGold -- 18 Mayıs 2014; 19:49:42 >




  • Soruya baktigimda aslinda sunu istiyor.

    100 tane 3 basamakli sayi yarat.
    Sonra isarmstrongnum diye bir fonksiyon yarat.
    Isarmstrong num fonksiyonu ekrana sayininin armstrong oldugunu yazacak.
    Yani isarmstrongnum fonksiyonunu her sayi icin cagiracaksin bu durumda isarmstrongnum fonksiyonun int turunde bir degisken alacak ve armstrong olup olmadigini kontrol edip eger armstrong number ise ekrana yazacak.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • import java.util.*;
    public class ArmstrongNumber {

    public void isArmstrongNum ()
    {

    int sum=0;
    int r;
    Random rand=new Random();
    int n = rand.nextInt(900)+100;
    System.out.println(n);

    while( n != 0 )
    {
    r = n%10;
    sum = sum + r*r*r;
    n = n/10;
    }
    if ( n == sum )

    System.out.println("The random number is an armstrong number.");
    else

    System.out.println("The random number is not an armstrong number."); }

    }


    public class ArmstrongNumberDemo {

    public static void main(String args[])
    {
    ArmstrongNumber arm= new ArmstrongNumber();
    arm.isArmstrongNum();
    }}



    Cevap burda program ve demosu seklinde yazdim calisiyor.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Tek sorun 100 defa yapmiyormus simdi farkettim onu da bi for loop ekleyerek hallederiz

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.