int tahmin şeklinde devam eden satırda sorun yaşıyorum hocamKod:import java.lang.*; import java.util.Scanner; public class odev3soru1 { public static void main(String[] args) { int x =(int) (Math.random()*100+1); Scanner scanner = new Scanner(System.in); int num=1; while (true){ System.out.println("Sayiyi gir"); int tahmin=(int)(scanner.nextLine()); if (x>tahmin){ System.out.println("yukari"); } if (x<tahmin) { System.out.println("asagi"); } if (x==tahmin) { System.out.println("Tebrikler"+(string)(num)+"denemede bildiniz"); } } } }
nextInt()
kullanabilirsin orada. System.out.println("Tebrikler "+num+" denemede bildiniz");
Hocam hataları düzelttim ancak bu seferde çıktı da sıkıntı yaşıyorum. Örneğin sayıyı 6 denemede bulmama rağmen 1 denemede bildiniz diyor. int num=1; yazmıştım ve bundan kaynaklı olduğunu da biliyorum ancak bu sorunu nasıl giderebilirim ?Zaten sana dönecek değerin integer olacağından eminsen casting işlemini yapmana gerek yok.nextInt()
kullanabilirsin orada.
Ekrana bir parametre yazdıracaksan da
System.out.println("Tebrikler "+num+" denemede bildiniz");
şeklinde yazabilirsin, yine casting kullanmana gerek yok. Fakat burada num (counter) hiç değişmediğinden 1 gözükecek. Onu çözecek bir şeyler düşün. Gayet iyi gidiyorsun.
Sorulara bakmadan attığın cevaplar üzerinden yorum yapıyorum.
Onu senin düşünmeni istemiştim. Döngüde bulamadıysan sayıyı 1 artırman gerek. Yani num++ yaparsan çözülecek. Genelde döngü sonuna konur. Parametrenin adlarını da anlaşılır olması açısından counter koyabilirsin.Hocam hataları düzelttim ancak bu seferde çıktı da sıkıntı yaşıyorum. Örneğin sayıyı 6 denemede bulmama rağmen 1 denemede bildiniz diyor. int num=1; yazmıştım ve bundan kaynaklı olduğunu da biliyorum ancak bu sorunu nasıl giderebilirim ?
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.