2014-02-16 4 views
2
public class project3 { 
    public static void main(String[] args) { 

     int earnedRuns = 52; 
     int inningsPitched = 182; 
     double ERA = (earnedRuns * 9)/inningsPitched; 
     String FirstName = "Anibal"; 
     String LastName = "Sanchez"; 

     System.out.println("Pitcher's first name: " + FirstName); 
     System.out.println("Pitcher's last name: " + LastName); 
     System.out.println("Number of earned runs: " + earnedRuns); 
     System.out.println("Number of innings pitched: " + inningsPitched); 
     System.out.println(FirstName + " " + LastName + " has an ERA of " + ERA); 
    } 
} 

ЭРА выходит как 2.0 не 2.57 ... ЭСТ Я не могу понять, почемуОкругления в двойной Яве

ответ

4

Baically вы:

  1. умножение числа на целое число ->целое число(Результат: 486)
  2. деление целого числа с помощью целого ->целого(Результата: 2)
  3. присвоить результат к двойной переменной ->двойному(Результат: 2.0d)

Итак, вам сначала нужно отличить («конвертировать») эти целые числа в поплавки или парные.

double ERA = ((double)earnedRuns * 9)/inningsPitched; 

или проще:

double ERA = (earnedRuns * 9.0)/inningsPitched; 

Достаточно бросить только один целое, так как в Java: целое число * двойной -> двойной

EDIT:

9.0 D или 9.0 d просто сообщает java, что явно означает, что 9.0 означает double. То же самое работает и для 9.0 f или 9.0 F. Это означает, что 9.0 - это float.

+0

спасибо. он говорил мне также менять целые числа на парные, но это не было назначение. – user3316886

+0

np и не забывайте, если ответ был полезен, принимайте его как ответ: D – maxammann

Смежные вопросы