Şimdi Ara

'f' lerle sorunum var galiba

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
13
Cevap
0
Favori
830
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba, benim 2 küçük sorum olacak birinicisi; Aşşağıdaki kodun sondan 2. satırında +(int)F 'deki + ve (int) ne işe yarıyor ? Hani yukarıda float tanımlamıştık F 'i niye int nerden çıktı ?

    //Üs alma 
    import java.util.Scanner;
    public class onek623 {
    public static void main(String[] args)
    { int x,y;
    float F=1;
    Scanner klavye=new Scanner(System.in);
    System.out.print("Üssü alınacak sayıyı giriniz: ");
    x=klavye.nextInt();
    System.out.print("Sayının kaçıncı üssü alınacak? ");
    y=klavye.nextInt();
    for(int i=1;i<=y;i++) F*=x;
    System.out.println("\nSonuç: "+(int)F);
    }}


    İkinci sorum; Aşşağıdaki kodun sondan 2. satırındaki x=%.2f ve ...degeri=%.2f",x,y) kısımlarındaki %.2f ler tam nasıl çalışıyor açıklayabilir misiniz ? o blokta dönen float değeri mi yazdırıyor %.2f ? Yoksa ordaki x,y den sırayla çekiyor yani ilk %.2f x i ikinci %.2f y yi mi çekiyor ? Bir de neden f değil de %.2f olması gerekiyor.

    //Parçalı fonksiyon 
    import java.util.Scanner;
    public class ornek624{
    public static void main(String[] args)
    {
    float x,y;
    Scanner klavye=new Scanner(System.in);
    System.out.print("x noktasını giriniz: ");
    x=klavye.nextFloat();
    if(x<0) y=1;
    else if((0<=x) && (x<=2)) y=x;
    else if((2<x) && (x<=4)) y=3;
    else y=4-x;
    System.out.printf("Fonksiyonun x=%.2f noktasındaki değeri=%.2f",x,y);
    }}


    Özetle anladığım kadarıyla ben javada yazdırma olayındaki int,float,double,string vb. değerlerini yazdırmayı anlayamamışım yardımcı olursanız sevinirim.







  • xc eioje kj mnjeskj wqk qewkjkj sjkdvkj q qw d qkwdjk q dw efkwqeifu nwife w ef iweh 1 0[q34 tj5hwnerfq24h



    < Bu mesaj bu kişi tarafından değiştirildi rob dö şambır -- 30 Nisan 2013; 13:48:06 >
  • quote:

    Orijinalden alıntı: SKULLAS

    Merhaba, benim 2 küçük sorum olacak birinicisi; Aşşağıdaki kodun sondan 2. satırında +(int)F 'deki + ve (int) ne işe yarıyor ? Hani yukarıda float tanımlamıştık F 'i niye int nerden çıktı ?

    //Üs alma 
    import java.util.Scanner;
    public class onek623 {
    public static void main(String[] args)
    { int x,y;
    float F=1;
    Scanner klavye=new Scanner(System.in);
    System.out.print("Üssü alınacak sayıyı giriniz: ");
    x=klavye.nextInt();
    System.out.print("Sayının kaçıncı üssü alınacak? ");
    y=klavye.nextInt();
    for(int i=1;i<=y;i++) F*=x;
    System.out.println("\nSonuç: "+(int)F);
    }}


    İkinci sorum; Aşşağıdaki kodun sondan 2. satırındaki x=%.2f ve ...degeri=%.2f",x,y) kısımlarındaki %.2f ler tam nasıl çalışıyor açıklayabilir misiniz ? o blokta dönen float değeri mi yazdırıyor %.2f ? Yoksa ordaki x,y den sırayla çekiyor yani ilk %.2f x i ikinci %.2f y yi mi çekiyor ? Bir de neden f değil de %.2f olması gerekiyor.

    //Parçalı fonksiyon 
    import java.util.Scanner;
    public class ornek624{
    public static void main(String[] args)
    {
    float x,y;
    Scanner klavye=new Scanner(System.in);
    System.out.print("x noktasını giriniz: ");
    x=klavye.nextFloat();
    if(x<0) y=1;
    else if((0<=x) && (x<=2)) y=x;
    else if((2<x) && (x<=4)) y=3;
    else y=4-x;
    System.out.printf("Fonksiyonun x=%.2f noktasındaki değeri=%.2f",x,y);
    }}


    Özetle anladığım kadarıyla ben javada yazdırma olayındaki int,float,double,string vb. değerlerini yazdırmayı anlayamamışım yardımcı olursanız sevinirim.


    1. sorunun cevabı;
    (int)F geriye F'in int (Tam sayı) değerini döndürür. Örn;
    5.0213f için geriye 5 döner.
    2. sorunun cevabı;
    http://www.java2s.com/Code/JavaAPI/java.lang/Systemoutprintf2ffloatf.htm
    .2 Basamak ile alakalı, oradaki f float'ı temsil ediyor. d ise inti temsil ediyor.
    Bir dene şu kodları, belki anlamanda yardımcı oluyor.
     
    public class asdasd
    {
    public static void main(String args[])
    {
    int i1 = 5;
    int i2 = 513;

    System.out.printf("i1 = %d i2 = %4d \n", i1, i2);
    // i1'in aynısı i2'nin başına bir sıfır (Çünkü i2 3 basamaklı ama ben buraya 4 yazdım.

    float f1 = 8;
    float f2 = 59.2123f;
    System.out.printf("i1 = %f i2 = %.1f", f1, f2);
    // f1'in aynısı f2'nin ise virgülden öncesi aynı, sonrasından yalnızca ilk basamak
    }
    }




  • Cevaplarınız için teşekkürler çoğunlukla anladım şimdi konuyu. Ben javaya Seçkin yayınlarından Dr. Fahri VATANSEVERin yazdığı Algoritma Geliştirme ve Programlamaya Giriş adlı kitabın 7. baskısından çalışıyorum bu kodlardaki oradaki genel uygulamalar bölümünde yer alıyor. welrocken hocam verdiğniz koddaki i2 = %4d u i2 = %2d olarak değiştirdiğim de yine de 513 olarak yazıyor 2 basamaklı yazmıyor. d'den önceki bu f deki gibi %.2f virgülden sonra 2 basamak gösteriyordu ya işte bu %d de nasıl oluyor orayı anlamadım.

    Birde stringler için nasıl oluyor şöyle bir örnek var:
    System.out.printf("%5.4s\n","PROGRAMLAMA");

    Bu kod " PROG" yazdırıyor. burdaki 5.4 ü de açıklayabilirseniz sevinirim.
  • quote:

    Orijinalden alıntı: SKULLAS

    Cevaplarınız için teşekkürler çoğunlukla anladım şimdi konuyu. Ben javaya Seçkin yayınlarından Dr. Fahri VATANSEVERin yazdığı Algoritma Geliştirme ve Programlamaya Giriş adlı kitabın 7. baskısından çalışıyorum bu kodlardaki oradaki genel uygulamalar bölümünde yer alıyor. welrocken hocam verdiğniz koddaki i2 = %4d u i2 = %2d olarak değiştirdiğim de yine de 513 olarak yazıyor 2 basamaklı yazmıyor. d'den önceki bu f deki gibi %.2f virgülden sonra 2 basamak gösteriyordu ya işte bu %d de nasıl oluyor orayı anlamadım.

    Birde stringler için nasıl oluyor şöyle bir örnek var:
    System.out.printf("%5.4s\n","PROGRAMLAMA");

    Bu kod " PROG" yazdırıyor. burdaki 5.4 ü de açıklayabilirseniz sevinirim.

    Ben tam konuya vakıf değilim, sadece mantık yürütüyorum, şuan Eclipse'i açmak baya zor geldi ama bak açtım :)

    String s = "PROGRAMLAMA";
    System.out.printf("%6s %6.6s %9.6s %12.6s ", s,s,s,s);

    diye bir kod yazdığımda;
    Birinci direk olarak PROGRAMLAMA ikinci, üçüncü ve dördüncü de PROGRA çıktısını verdi.
    Dolayısıyla ben burdan şunu anladım;
    Stringleri parse ederken noktadan sonrasına bakıyormuş. (Bu kesin bir bilgi değil, bir çıkarım)




  • evet noktadan sonrasına bakıyor parse ederken noktadan öncesi ise boşluk bırakıyor 5 yazınca bir boşluk 10 yazınca tab kadar boşluk 100 yazınca 20 tablık boşluk 1000 yazınca 4 satır aşşağı iniyor deneyerek buldum bunları aynı şekilde f içinde noktadan öncesi boşluk bıraktırıyor:
    System.out.printf("%10.2f",1123.45);
  • sd krnl e sdwe ni e kinew inw khbef3 87 v e nru v ne rjklfverfve r wejkrfwerfe rtg b



    < Bu mesaj bu kişi tarafından değiştirildi rob dö şambır -- 30 Nisan 2013; 13:49:46 >
  • Yapay Zeka’dan İlgili Konular
    Asus'tan daha f/p var mı
    geçen yıl açıldı
    Daha Fazla Göster
  • Hocam bu kadar da abartmayaydiniz. Yararlanan yararlanir mesajinizdan, yararlanmayanin da kendi sorunu :)

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Rob de şambır sinirimi bozdun kardeş. Öyle sanal alemden sallaması kolay söyle yerini yurdunu gelim bi de reel hayatta atarlan bana bakalım noluyo ? Odtülü veya boğaziçili bir bebesin sanıyorum ilk mesajına bişey demedim 2.si olmadı ama senden yardım dilenen olmadı git ingiliz forumlarında yardım et elalemevmadem ingilizcen o kadar iyi sapkın bebe !
  • d bh ,nsd nf nkvb kd z xczxcv m,.xc/.k c. bmxfcgn bxdflnb xdv .bxd/l m xd.f mnb xdf;l kb sd



    < Bu mesaj bu kişi tarafından değiştirildi rob dö şambır -- 30 Nisan 2013; 13:50:27 >
  • Dışarıda senin gibi adamlar var girdiği işten atılan. Sen benim yaşımı bilmiyon başımı bilmiyon işkembeden konuşuyon! Belki 3 yaşında bi veledim ben ? Belki hobi olarak öğreniyom seni niye gerdi benim java bilmem veya bilmemem anlayan varsa söylesin. Bilgi paylaşımı var burda adam yargılama yapılmaz. Sen bence bir psikiyatriste görün ...
  • quote:

    Orijinalden alıntı: rob dö şambır

    vay bee... ne yapması gerektiğini söylüyorum, daha onu bile anlamıyor. deneme-yanılma ile keşfetmeye uğraşıyor.
    yani şu sayfaya bakmayıhttp://docs.oracle.com/javase/7/docs/api/java/lang/System.html oradan PrintStream class'ına bakmayı falan hiç yapamıyorsun, ve programcı mı olayım diyorsun hala?
    dehşet içindeyim!
    yani kim veriyor size bu aklı? aldığınız o türkçe programlama kitapları mı böyle akıl veriyor? okulda hocanız mı diyor? ingilizce bilmeden bu işlerin yapılabileceğini söyleyen telkin eden her kim ise büyük yanılgı içinde.

    deneme yanılma ile adam printf()'i çözmeye uğraşıyor be!!

    Bunları söylemeden önce sen kişisel problemlerini çözmelisin.
    Ayrıca madem çok iyi biliyorsun git ingilizce forumlara yardım et millete. Madem türklerle anlaşamayacak geri bir akla sahipsin, aklının uyacağı kişilerle konuş.



    < Bu mesaj bu kişi tarafından değiştirildi CoDeR006 -- 21 Eylül 2012; 19:41:09 >




  • Aynen coder hocam
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.