2010-09-27 4 views
3

Я «явно» изучаю программирование, и я не могу понять, что делать, чтобы избавиться, если эта ошибка. Ошибка находится на второй до последней строки - строка перед: [System.out.print (+ windChill);]Ошибки в Math.pow в Java

Здесь (написано ниже) представлены список возможных «подсказок» для Java ошибки, которые я получаю:

 
**')' expected 
method pow in class java.lang.Math cannot be applied to given types 
    required: double,double 
    found: double 
method pow in class java.lang.Math cannot be applied to given types 
    required: double,double 
    found: double 
operator + cannot be applied to double,pow 
incompatible types 
    required: doub...** 

Любые подсказки или пояснения были бы наиболее ценными. См. Код ниже. Заранее спасибо.

Шейн

import java.util.Scanner; 
public class Main { 

    public static void main(String[] args) { 
     // TODO code application logic here 
     Scanner input = new Scanner(System.in); 
     System.out.print("Enter a temperature between -58 and 41 degrees Fahrenheit and press ENTER"); 
     double temperature = input.nextDouble(); 
     System.out.print("Enter a wind speed that is 2 miles per hour or faster and press ENTER");  
     double windSpeed = input.nextDouble(); 
     double windChill = (((35.41 + temperature - Math.pow(windSpeed * 16) + Math.pow(temperature * 16))); 
     System.out.print(+windChill); 

    } 

} 

ответ

0

Math.pow принимает два аргумента в выражении x^y она принимает первый параметр x и второй параметр y, но вы лишь вскользь одиночные аргументы. Где ваш экспонент?

7

(((35.41 + temperature - Math.pow(windSpeed * 16) + Math.pow(temperature * 16)))

Math.pow требует два аргумента. Вы предоставляете только один.

Возможно, вы имели в виду Math.pow(windSpeed,16)?

Math.pow объявлен как public static double pow(double a,double b) Он возвращает значение первого аргумента, поднятого до степени второго аргумента.

Кроме того, у вас есть дополнительная скобка слева.

+0

+1 для решения обеих проблем. – st0le

+1

+1 от меня тоже. Я не должен был перестать читать после того, как обнаружил первую ошибку. :) –

+0

Спасибо @ st0le и @Bill :) –

0

У вас есть дополнительные круглые скобки здесь:

double windChill = (((
        ^

либо удалить ту или добавить ) в конце.

+0

Спасибо за помощь. – user459104

0

Функция Math.pow требует двух аргументов: базы и мощности. Вы только переходящие в одном значении - произведение WindSpeed ​​и 16. Я думаю, что вы, вероятно, имели в виду:

Math.pow(windSpeed, 16) 
+0

Благодарим вас за помощь. – user459104

1

Ошибка указывает на то, что Вы пропускаете ) в конце строки, которая начинается

double windChill = (((35.41 + temperature... 

Вы также можете удалить один из ( в начале выражения после =, так как это похоже на то, что не все из них действительно необходимы.