[]

Java Öğreniyore

java'ya sardım gençler, baya bi başındayım (sorudan da anlaşılacağı üzere).

ben şöyle bişi yaptım, kullanıcının sadece numara girmesini istiyorum ama olmuyor. rakam girildiğinde sonucu veriyor ama diğer türlü hata alıyorum. ben nerde yanlış yapıyorum? \:

import javax.swing.*;

public class Çember {
public static void main(String[] args) {

double pi = 3.14159265359;
double cevre = Math.sqrt(Double.parseDouble(JOptionPane
.showInputDialog("Çevreyi cm cinsinden girin")));
double alan = pi * cevre * cevre;
boolean kontrol = Double.isNaN(cevre);
if (!kontrol) {
JOptionPane.showMessageDialog(null, "Alan " + alan + " cm²");

} else {
JOptionPane.showMessageDialog(null, "Rakam girseniz hani");

}

}
}


bu arada şurda türkçe java forumu var senin gibiler için derseniz linkler de kabulümdür.

tenkyu

 
boolean kontrol = Double.isNaN(cevre); ile double alan = pi * cevre * cevre; yerlerini değiştirip denesen?


  • inheritance  (21.08.14 17:42:31) 
olmadı \: hata aynı:

Exception in thread "main" java.lang.NumberFormatException: For input string: "aa"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at Çember.main(Çember.java:7)
  • astaroth  (21.08.14 17:45:51) 
o zaman şu satırı try catch içine alın:

double cevre = Math.sqrt(Double.parseDouble(JOptionPane
.showInputDialog("Çevreyi cm cinsinden girin")));

catch bloğunun içinde hatayı halledin. şu satır yani: JOptionPane.showMessageDialog(null, "Rakam girseniz hani");
  • inheritance  (21.08.14 17:48:50 ~ 17:53:00) 
hata acik, diyor ki Cember classinin 7.satirinda girdigin "aa", ve bunu float veri tipine cevirmeye calisiyorum ama olmuyor cunku "aa" rakama cevrilmez.

JOptionPane.showInputDialog("Çevreyi cm cinsinden girin") burasi "aa" dönüyor, bunun rakam olduguna emin ol.
  • emrahday  (21.08.14 17:50:14 ~ 17:53:12) 
@inheritance o.O try catch'e göz atayım o zaman biraz ben :)) teşekkürler.

@emrahday farkındayım onun zaten dostum, aa'yı rakama çevirsin istemiyorum String girildiğinde mesaj diyalogunu ("Rakam girseniz hani") göstermesini istiyorum. ölesiye yeniyim olaylara ;)
  • astaroth  (21.08.14 17:58:40) 
Kontrolu en basta parse double yaparken yapman gerekiyor.

double pi = 3.14159265359;
String input = JOptionPane.showInputDialog("Çevreyi cm cinsinden girin");

double doubleInput = 0;
try{
doubleInput = Double.parseDouble(input);
} catch (NumberFormatException ex){
JOptionPane.showMessageDialog(null, "Rakam girseniz hani");
}
double cevre = Math.sqrt(doubleInput);
double alan = pi * cevre * cevre;
boolean kontrol = Double.isNaN(cevre);
JOptionPane.showMessageDialog(null, "Alan " + alan + " cm²");
  • emrahday  (21.08.14 18:15:00 ~ 18:16:31) 
oo inceliyim ben bunu. teşekkürler @emrahday


  • astaroth  (22.08.14 09:07:59) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.