Java 代码赢得';“之前的t型度字符”;“文本”;,相反地,它是一个数字
我试图创造一个从华氏到摄氏的转换器。我使用了以下代码:Java 代码赢得';“之前的t型度字符”;“文本”;,相反地,它是一个数字,java,Java,我试图创造一个从华氏到摄氏的转换器。我使用了以下代码: package Kap3; import javax.swing.*; public class Upp32{ public static void main(String[] arg){ char d = '\u00B0'; String F = JOptionPane.showInputDialog("Write the temperature in F"+d); int f =
package Kap3;
import javax.swing.*;
public class Upp32{
public static void main(String[] arg){
char d = '\u00B0';
String F = JOptionPane.showInputDialog("Write the temperature in F"+d);
int f = Integer.parseInt(F);
int C = (f-32)*(5/9);
// TEST - JOptionPane.showMessageDialog(null, f);
JOptionPane.showMessageDialog(null, f + "" + d
+ " Degrees Fahrenheit" + "\n Equals to"
+ "\n" + C + d + " Degrees Celcius");
}
}
问题出在这里:JOptionPane.showMessageDialog(null,f+d+“华氏度”
不知何故,它改变了开始时输入的Farenheit的数量,我不知道为什么。但是,如果我在f
之后添加+“”+
,它就会消失,但我很想知道它为什么会发生
多谢各位
(另一方面,我希望这是一个正确的方式发布一些东西。我的lats线程被禁止了2天。)我能够解决它!显然我的乘法有问题
package Kap3;
import javax.swing.*;
public class Upp32{
public static void main(String[] arg){
char d = '\u00B0';
String F = JOptionPane.showInputDialog("Write the temperature in F"+d);
double f = (int) (Double.parseDouble(F));
double C = (int) ((f - 32) * 5/9);
// TEST - JOptionPane.showMessageDialog(null, f);
JOptionPane.showMessageDialog(null, f+ ""+d + " Degrees Fahrenheit"
+ "\n Equals"
+ "\n" + C + d + " Degrees Celcius");
}
}
更改为双C=(int)((f-32)*5/9)Java对于Javascript就像痛苦对于绘画,火腿对于仓鼠一样。它们完全不同。强烈建议有抱负的程序员尝试学习他们试图编写代码的语言名称。当你发布问题时,请适当地标记它。
f
是一个整数值,d
是一个整数ral值和加在一起。为什么要将int
转换为double?我认为应该是double C=(double)((f-32)*5/9)
我不喜欢小数hehe:P但它不会给你精确的值,例如,如果C
应该等于34.44,它会返回你C=34
我可以接受:P这只是为了学习,不是为了实际使用。哦,好吧,我们会好运的,伙计:)