Pourquoi les nombres de points Java sont-ils automatiquement doublés? Quand je le lance, ça marche. Mais ce n'est pas une belle façon, à mon avis.Coulée automatique pour doubler dans le paramètre
Mes méthodes pourraient être modifiées en double dans la signature. Mais quand j'importe quelque chose, je ne trouve aucune solution.
public class Demo {
public static void main(String[] args) {
run(0.1);
run(1*0.1);
run(1);
importedClass.setPosition(0.1, 3.5);
//setPosition(float, float) not applicable for the arguments (double, double)
run((float) 0.1);
run((float) 1*0.1);
run(1);
importedClass.setPosition((float) 0.1, (float) 3.5);
}
public static void run(float x) {
//do something
}
}
Lancers problèmes de compilation non résolues:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The method run(float) in the type Demo is not applicable for the arguments (double)
The method run(float) in the type Demo is not applicable for the arguments (double)
at test.Demo.main(Demo.java:6)
Parce que '0,1' est un double littéral; un entier multiplié par un double est un double etc. Si vous voulez un littéral float, utilisez le suffixe 'f'. –