Arama butonu
Bu konudaki kullanıcılar: 1 misafir
7
Cevap
964
Tıklama
0
Öne Çıkarma
java- armstrong number method.
M
12 yıl (512 mesaj)
Teğmen
Konu Sahibi

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.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



K
12 yıl (16592 mesaj)
Yarbay

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ı >
Bu mesaja 1 cevap geldi.
M
12 yıl (512 mesaj)
Teğmen
Konu Sahibi

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 ?




Bu mesajda bahsedilenler: @Kaygerya
K
12 yıl (16592 mesaj)
Yarbay

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ı >

B
12 yıl (1448 mesaj)
Teğmen

 

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 >


Bu mesajda bahsedilenler: @Kaygerya
K
12 yıl (16592 mesaj)
Yarbay

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ı >

M
12 yıl (512 mesaj)
Teğmen
Konu Sahibi

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ı >

M
12 yıl (512 mesaj)
Teğmen
Konu Sahibi

Tek sorun 100 defa yapmiyormus simdi farkettim onu da bi for loop ekleyerek hallederiz



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

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.