2010-09-27 3 views
3

Je suis 'évidemment' juste apprentissage de la programmation et je ne peux pas sembler savoir quoi faire afin de se débarrasser de cette erreur. L'erreur est sur la seconde à la dernière ligne - la ligne avant: [System.out.print (+ windChill);]erreurs Math.pow en Java

Ici (écrit juste ci-dessous), sont la liste des «indices» générés par Java pour les erreurs que j'obtiens:

 
**')' 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...** 

Tout indice ou clarification serait très apprécié. S'il vous plaît voir le code ci-dessous. Merci d'avance.

Shane

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); 

    } 

} 

Répondre

0

Math.pow prend deux arguments, dans une expression x^y il faut premier paramètre x et second paramètre y, mais vous ne passer des arguments simples. Où est votre exposant?

7

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

Math.pow nécessite deux arguments. Vous n'en fournissez qu'un.

Voulez-vous dire Math.pow(windSpeed,16)?

Math.pow est déclaré comme public static double pow(double a,double b) Il renvoie la valeur du premier argument élevé à la puissance du second argument.

De plus, vous avez une parenthèse supplémentaire sur le côté gauche.

+0

+1 pour résoudre ces deux problèmes. – st0le

+1

+1 de moi aussi. Je n'aurais pas dû arrêter de lire après avoir trouvé la première erreur. :) –

+0

Merci @ st0le et @Bill :) –

0

Vous avez une parenthèse supplémentaire ici:

double windChill = (((
        ^

soit supprimer ce ou ajouter un ) à la fin.

+0

Merci pour votre aide. – user459104

0

La fonction Math.pow nécessite deux arguments, la base et la puissance. Vous ne croiserez une valeur - le produit de WINDSPEED et 16. Je pense que vous voulez dire probablement:

Math.pow(windSpeed, 16) 
+0

Merci pour votre aide. – user459104

1

L'erreur indique que vous manquez un ) à la fin de la ligne qui commence

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

Vous pouvez également supprimer l'un des ( au début de l'expression après le =, car il semble que tous ne sont pas vraiment nécessaires.