2012-12-04 18 views
24

Próbuję napisać program Java, który może przyjmować wartości i umieścić je w formule z udziałem bazy dziennika 10.Korzystanie bazę log 10 w formule w Javie

Jak mogę obliczyć log w Javie ?

+9

'Math.log (x)/Math.log (10)' – Mysticial

+2

@Mysticial: To jest odpowiedź, prawda? (Zamiast komentarza.) –

+0

Aby uzyskać więcej informacji, spójrz na formułę "zmiana bazy". –

Odpowiedz

4
Math.log10(x) 

wystarczy dla liczb zmiennoprzecinkowych.

Jeśli potrzebujesz bazy danych z liczbą całkowitą 10, a możesz korzystać z bibliotek innych firm, Guava zapewnia IntMath.log10(int, RoundingMode). (Ujawnienie: I przyczyniają się do guawy.)

1

poniżej pełna przykładem może pomóc

public class Log10Math { 
    public static void main(String args[]) { 
     // Method returns logarithm of number argument with base ten(10); 
     short shortVal = 10; 
     byte byteVal = 1; 
     double doubleVal = Math.log10(byteVal); 

     System.out.println("Log10 Results"); 
     System.out.println(Math.log10(1)); 
     System.out.println(doubleVal); 
     System.out.println(Math.log10(shortVal)); 
    } 
} 

Output

Log10 Results 
0.0 
0.0 
1.0 
+1

Postępuj zgodnie z Konwencjami nazewnictwa Java, nazwy zmiennych zaczynają się od małych liter. –

+0

@MCEmperor, dzięki za dane wejściowe, zaktualizowałem moją odpowiedź. –

+0

To lepiej! ;-) –

1

Można to zrobić za

class log 
{ 
    public void main(double a) 
    { 
     double l = 0; 
     l = Math.log10(a); 
     System.out.println(l); 
    } 
} 
+2

Jaki jest sens tymczasowej wartości 0 zmiennej l? –

+0

Powinieneś postępować zgodnie z Konwencjami nazewnictwa Java: nazwy klas zaczynają się od wielkich liter. –

0

w Java możemy użyć funkcji dziennika. (int) Math.log (val); int to typ, który można przekształcić w ten, w którym przechowujesz odpowiedź ur.

Powiązane problemy